msgQ test: Now also reports performance of STL-based variant of msg Q
authorRamprasad Venkataraman <ramv@illinois.edu>
Mon, 18 Jun 2012 21:45:53 +0000 (16:45 -0500)
committerRamprasad Venkataraman <ramv@illinois.edu>
Thu, 28 Jun 2012 16:00:32 +0000 (11:00 -0500)
commit5367c997d98a419871affcb8bf5afc4c7c797db3
tree4ffbeb111ec35114235ff7a747dc2afed3fd4f99
parenta25ea6c5b66cb60ef42f52edd8279db424ed84ab
msgQ test: Now also reports performance of STL-based variant of msg Q

Charm uses a custom message queue that handles arbitrary bitvector priorities.
Underneath, it implements three separate queues for -ve, +ve and zero priorities.

The test now includes a simple, STL-based implementation of similar functionality,
so that we can compare charm's msg q performance against a simple STL version.
Monitoring these numbers should help guide optimizations.

Capabilities of the reference STL msgQ
- Only integer / long / compile-time fixed length priorities are directly supported
- arbitrary bitvec prios can be supported using thin wrappers to the priority type
- std::less is assumed to be available for the priority type

The STL version is still quite naive and could use optimization, but is faster than
charm's custom implementation on g++ 4.4 on net-linux-x86_64.
tests/charm++/queue/msgq.h [new file with mode: 0644]
tests/charm++/queue/pgm.C