diff --git a/meson.build b/meson.build index 6c801b1..27c47b4 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ project('sol2_test', 'cpp', version: '0.1.0', default_options: [ 'cpp_std=c++23', - 'cpp_args=-D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1', + # 'cpp_args=-D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1', ]) # use this for common options only for our executables diff --git a/tests/perf_tests.cpp b/tests/perf_tests.cpp index 0b34b10..2a134f6 100644 --- a/tests/perf_tests.cpp +++ b/tests/perf_tests.cpp @@ -360,56 +360,57 @@ namespace perf_tests { Stats moa_many_for; for(int i = 0; i < sample_number; i++) { auto start = moa_many_for.time_start(); + + for(auto& el : moa->s1) { + el.a01 += el.a02 + i; + el.a02 += el.a03 + i; + el.a03 += el.a04 + i; + } + + for(int i = 0; i < sample_size; i++) { + moa->s1[i].a04 += moa->s2[i].a05 + i; + } + + for(auto& el : moa->s2) { + el.a05 += el.a06 + i; + el.a06 += el.a07 + i; + el.a07 += el.a08 + i; + } + + for(int i = 0; i < sample_size; i++) { + moa->s2[i].a08 += moa->s3[i].a09 + i; + } + + + for(auto& el : moa->s3) { + el.a09 += el.a10 + i; + el.a10 += el.a11 + i; + el.a11 += el.a12 + i; + } + for(int i = 0; i < sample_size; i++) { - for(auto& el : moa->s1) { - el.a01 += el.a02 + i; - el.a02 += el.a03 + i; - el.a03 += el.a04 + i; - } - - for(int i = 0; i < sample_size; i++) { - moa->s1[i].a04 += moa->s2[i].a05 + i; - } - - for(auto& el : moa->s2) { - el.a05 += el.a06 + i; - el.a06 += el.a07 + i; - el.a07 += el.a08 + i; - } - - for(int i = 0; i < sample_size; i++) { - moa->s2[i].a08 += moa->s3[i].a09 + i; - } - - - for(auto& el : moa->s3) { - el.a09 += el.a10 + i; - el.a10 += el.a11 + i; - el.a11 += el.a12 + i; - } - - for(int i = 0; i < sample_size; i++) { - moa->s3[i].a12 += moa->s4[i].a13 + i; - } - - for(auto& el : moa->s4) { - el.a13 += el.a14 + i; - el.a14 += el.a15 + i; - el.a15 += el.a16 + i; - } - - for(int i = 0; i < sample_size; i++) { - moa->s4[i].a16 += moa->s5[i].a17 + i; - } - - for(auto& el : moa->s5) { - el.a17 += el.a18 + i; - el.a18 += el.a19 + i; - el.a19 += el.a20 + i; - } + moa->s3[i].a12 += moa->s4[i].a13 + i; } + + for(auto& el : moa->s4) { + el.a13 += el.a14 + i; + el.a14 += el.a15 + i; + el.a15 += el.a16 + i; + } + + for(int i = 0; i < sample_size; i++) { + moa->s4[i].a16 += moa->s5[i].a17 + i; + } + + for(auto& el : moa->s5) { + el.a17 += el.a18 + i; + el.a18 += el.a19 + i; + el.a19 += el.a20 + i; + } + moa_many_for.sample_time(start); } + moa_many_for.dump("moa many for"); fmt::println("-------------\n"); samples.moa_many_for.push_back(moa_many_for);