IMP  2.1.0
The Integrative Modeling Platform
Profiler.h
Go to the documentation of this file.
1 /**
2  * \file IMP/benchmark/Profiler.h
3  * \brief Various utilities for benchmarking
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPBENCHMARK_PROFILER_H
10 #define IMPBENCHMARK_PROFILER_H
11 
12 #include <IMP/benchmark/benchmark_config.h>
13 #include <IMP/base/raii_macros.h>
14 #include <string>
15 
16 IMPBENCHMARK_BEGIN_NAMESPACE
17 
18 /** One can use the
19  [GPerfTools](http://code.google.com/p/gperftools/)
20  the GPerfTools profiler} to profile code. On a mac, you should
21  use the Instruments program instead (part of the mac os developer tools).
22 */
23 class IMPBENCHMARKEXPORT Profiler : public base::RAII {
24  void start(std::string name);
25  void stop();
26 
27  public:
28  IMP_RAII(Profiler, (std::string name), , start(name), stop(),
29  out << "profiling");
30 };
31 
32 IMPBENCHMARK_END_NAMESPACE
33 
34 #endif /* IMPBENCHMARK_PROFILER_H */
Various general useful macros for IMP.
#define IMP_RAII(Name, args, Initialize, Set, Reset, Show)
Declares RAII-style methods in a class.