From ad9967b5a418a4760ca0f808ca0946dbbcc6e531 Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Tue, 6 Sep 2022 01:08:25 +0100 Subject: [PATCH] test/perf/memcpy: also emit snmalloc-checked times --- src/test/perf/memcpy/memcpy.cc | 38 ++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/test/perf/memcpy/memcpy.cc b/src/test/perf/memcpy/memcpy.cc index 64efad8..e3bee7d 100644 --- a/src/test/perf/memcpy/memcpy.cc +++ b/src/test/perf/memcpy/memcpy.cc @@ -106,15 +106,18 @@ int main(int argc, char** argv) bool full_test = opt.has("--full_test"); // size_t size = 0; - auto mc1 = [](void* dst, const void* src, size_t len) { + auto mc_platform_checked = [](void* dst, const void* src, size_t len) { memcpy_platform_checked(dst, src, len); }; - auto mc2 = [](void* dst, const void* src, size_t len) { + auto mc_sn = [](void* dst, const void* src, size_t len) { memcpy_unchecked(dst, src, len); }; - auto mc3 = [](void* dst, const void* src, size_t len) { + auto mc_platform = [](void* dst, const void* src, size_t len) { memcpy(dst, src, len); }; + auto mc_sn_checked = [](void* dst, const void* src, size_t len) { + memcpy_checked(dst, src, len); + }; std::vector sizes; for (size_t size = 0; size < 64; size++) @@ -142,11 +145,10 @@ int main(int argc, char** argv) sizes.push_back(size + 5); } - std::vector> stats_checked; - std::vector> stats_unchecked; - std::vector> stats_platform; + std::vector> stats_sn, + stats_sn_checked, stats_platform, stats_platform_checked; - printf("size, checked, unchecked, platform\n"); + printf("size, sn, sn-checked, platform, platform-checked\n"); size_t repeats = full_test ? 80 : 1; @@ -154,21 +156,25 @@ int main(int argc, char** argv) { for (auto copy_size : sizes) { - test(copy_size, mc1, stats_checked); - test(copy_size, mc2, stats_unchecked); - test(copy_size, mc3, stats_platform); + test(copy_size, mc_platform_checked, stats_platform_checked); + test(copy_size, mc_sn, stats_sn); + test(copy_size, mc_platform, stats_platform); + test(copy_size, mc_sn_checked, stats_sn_checked); } - for (size_t i = 0; i < stats_checked.size(); i++) + for (size_t i = 0; i < stats_sn.size(); i++) { - auto& s1 = stats_checked[i]; - auto& s2 = stats_unchecked[i]; + auto& s1 = stats_sn[i]; + auto& s2 = stats_sn_checked[i]; auto& s3 = stats_platform[i]; + auto& s4 = stats_platform_checked[i]; std::cout << s1.first << ", " << s1.second.count() << ", " - << s2.second.count() << ", " << s3.second.count() << std::endl; + << s2.second.count() << ", " << s3.second.count() << ", " + << s4.second.count() << std::endl; } - stats_checked.clear(); - stats_unchecked.clear(); + stats_sn.clear(); + stats_sn_checked.clear(); stats_platform.clear(); + stats_platform_checked.clear(); } #else snmalloc::UNUSED(opt);