MADNESS
0.10.1
|
Singleton-like class for holding profiling data and functionality. More...
#include <worldprofile.h>
Static Public Member Functions | |
static void | clear () |
Clears all profiling information. More... | |
static WorldProfileEntry & | get_entry (int id) |
Returns a reference to the specified entry. Throws if id is invalid. More... | |
static void | print (World &world) |
Prints global profiling information. Global fence involved. Implemented in worldstuff.cc. More... | |
static int | register_id (const char *classname, const char *function) |
Returns id for the name, registering if necessary. More... | |
static int | register_id (const char *name) |
Returns id for the name, registering if necessary. More... | |
Static Private Member Functions | |
static int | find (const std::string &name) |
Returns id of the entry associated with the name. Returns -1 if not found;. More... | |
static std::vector< WorldProfileEntry > & | nvitems () |
static void | recv_stats (World &world, ProcessID p) |
Private. Accumlates data from process into parallel statistics. Implemented in worldstuff.cc. More... | |
Static Private Attributes | |
static double | cpu_start = madness::cpu_time() |
static std::vector< WorldProfileEntry > | items |
static Spinlock | mutex |
static double | wall_start = madness::wall_time() |
Singleton-like class for holding profiling data and functionality.
Use the macros PROFILE_FUNC, PROFILE_BLOCK, PROFILE_MEMBER_FUNC
|
static |
Clears all profiling information.
References cpu_start, madness::cpu_time(), fred(), mutex, nvitems(), wall_start, and madness::wall_time().
|
staticprivate |
Returns id of the entry associated with the name. Returns -1 if not found;.
References MADNESS_EXCEPTION, madness::name(), and nvitems().
Referenced by print(), recv_stats(), and register_id().
|
static |
Returns a reference to the specified entry. Throws if id is invalid.
References MADNESS_EXCEPTION, and nvitems().
Referenced by madness::WorldProfileObj::WorldProfileObj(), madness::WorldProfileObj::~WorldProfileObj(), madness::WorldProfileObj::pause(), print(), and recv_stats().
|
staticprivate |
References items.
Referenced by clear(), find(), get_entry(), and register_id().
|
static |
Prints global profiling information. Global fence involved. Implemented in worldstuff.cc.
References madness::WorldProfileEntry::count, cpu_start, madness::cpu_time(), madness::WorldProfileEntry::exclusivebytcmp(), madness::WorldProfileEntry::exclusivecmp(), madness::WorldGopInterface::fence(), find(), get_entry(), madness::World::gop, madness::WorldProfileEntry::inclusivebytcmp(), madness::WorldProfileEntry::inclusivecmp(), items, me, madness::World::rank(), recv_stats(), madness::ProfileStat< T >::sum, v, wall_start, madness::wall_time(), and madness::WorldProfileEntry::xcpu.
Referenced by madness::print_stats(), and realmain().
Private. Accumlates data from process into parallel statistics. Implemented in worldstuff.cc.
References d(), find(), get_entry(), madness::name(), p(), register_id(), madness::World::size(), and v.
Referenced by print().
|
static |
Returns id for the name, registering if necessary.
References find(), fred(), mutex, madness::name(), and nvitems().
|
static |
Returns id for the name, registering if necessary.
References find(), fred(), mutex, madness::name(), and nvitems().
Referenced by recv_stats().
|
staticprivate |
|
staticprivate |
|
staticprivate |
Referenced by clear(), and register_id().
|
staticprivate |