49 template<
class JType_t>
50 int do_main(
int argc,
char **argv,
const char* title)
62 JParser<> zap(
"Auxiliary program to test speed of memory allocation.");
72 catch(
const exception &error) {
73 FATAL(error.what() << endl);
79 cout << endl << title << endl;
81 JTimer timer1(
"Allocate");
82 JTimer timer2(
"Free");
90 for (
int event_count = 0; event_count != numberOfEvents; ++event_count) {
92 buffer.resize(numberOfAllocs);
98 for (
int i = numberOfAllocs; i != 0; --i, ++out) {
105 random_shuffle(buffer.begin(), buffer.end());
109 std::reverse (buffer.begin(), buffer.end());
121 const double factor = 1.0 / (numberOfEvents * numberOfAllocs);
123 timer1.print(cout, factor,
nano_t);
124 timer2.print(cout, factor,
nano_t);
136 int main(
int argc,
char **argv)
138 if (do_main<__A__>(argc, argv,
"C++") != 0)
return 1;
139 if (do_main<__B__>(argc, argv,
"JAllocator") != 0)
return 1;
140 if (do_main<__C__>(argc, argv,
"JRAM") != 0)
return 1;
Utility class to parse command line options.
Auxiliary base class to speed up new/delete operations of any class.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary class to speed up new/delete operations of any class.
General purpose messaging.
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Utility class to parse command line options.
Auxiliary class to speed up new/delete operations of any class.
Base class for customized new/delete operators.
int main(int argc, char *argv[])