IMP logo
IMP Reference Guide  develop.cd20b1e321,2019/12/14
The Integrative Modeling Platform
IMP::benchmark Namespace Reference

Support for developing and analyzing benchmarks of IMP code. More...

Detailed Description

Support for developing and analyzing benchmarks of IMP code.

All benchmarks are automatically linked against this module.

Info

Author(s): Daniel Russel

Maintainer: benmwebb

License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Publications:

Classes

class  Profiler
 

Functions

int get_return_value ()
 
void report (std::string benchmark, std::string algorithm, double time, double check)
 Report a benchmark result in a standard way. More...
 

Standard module functions

All IMP modules have a set of standard functions to help get information about the module and about files associated with the module.

std::string get_module_version ()
 
std::string get_module_name ()
 
std::string get_data_path (std::string file_name)
 Return the full path to one of this module's data files. More...
 
std::string get_example_path (std::string file_name)
 Return the full path to one of this module's example files. More...
 

Function Documentation

std::string IMP::benchmark::get_data_path ( std::string  file_name)

Return the full path to one of this module's data files.

To read the data file "data_library" that was placed in the data directory of this module, do something like

std::ifstream in(IMP::benchmark::get_data_path("data_library"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own data directory, so be sure to use this function from the correct module.
std::string IMP::benchmark::get_example_path ( std::string  file_name)

Return the full path to one of this module's example files.

To read the example file "example_protein.pdb" that was placed in the examples directory of this module, do something like

std::ifstream in(IMP::benchmark::get_example_path("example_protein.pdb"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own example directory, so be sure to use this function from the correct module.
void IMP::benchmark::report ( std::string  benchmark,
std::string  algorithm,
double  time,
double  check 
)

Report a benchmark result in a standard way.

Parameters
[in]benchmarkthe name of the benchmark being run
[in]algorithmthe name of the particular algorithm used to solve the problem
[in]timethe time it took (perhaps normalized)
[in]checka check value to print out to see if the calculation was OK