24int main(
int argc,
char** argv) {
38 niterBlock = atoi(argv[1]);
43 std::ofstream fresult(
"performance_test.txt", std::ofstream::out);
45 std::cout <<
" **************************************************************"
48 std::cout <<
" Tests with the OneDRegisterAccessor:" << std::endl;
51 gettimeofday(&tv,
nullptr);
52 t0 = tv.tv_sec * 1000000 + tv.tv_usec;
53 std::cout <<
" reading block ";
54 for(
int i = 0; i < niterBlock; ++i) {
58 gettimeofday(&tv,
nullptr);
59 tdur = (tv.tv_sec * 1000000 + tv.tv_usec) - t0;
60 std::cout <<
"took " <<
static_cast<double>(tdur) / 1000. / niterBlock <<
" ms per block" << std::endl;
61 fresult <<
"1D_COOKEDus=" << std::round(
static_cast<double>(tdur) / niterBlock) << std::endl;
64 gettimeofday(&tv,
nullptr);
65 t0 = tv.tv_sec * 1000000 + tv.tv_usec;
66 std::cout <<
" raw-reading block ";
67 for(
int i = 0; i < niterBlock; ++i) {
71 gettimeofday(&tv,
nullptr);
72 tdur = (tv.tv_sec * 1000000 + tv.tv_usec) - t0;
73 std::cout <<
"took " <<
static_cast<double>(tdur) / 1000. / niterBlock <<
" ms per block" << std::endl;
74 fresult <<
"1D_RAWus=" << std::round(
static_cast<double>(tdur) / niterBlock) << std::endl;
76 std::cout <<
" **************************************************************"
79 std::cout <<
" Sum of all read data: " << sum << std::endl;
OneDRegisterAccessor< UserType > getOneDRegisterAccessor(const RegisterPath ®isterPathName, size_t numberOfWords=0, size_t wordOffsetInRegister=0, const AccessModeFlags &flags=AccessModeFlags({})) const
Get a OneDRegisterAccessor object for the given register.