Skip to content

Commit ad9967b

Browse files
committed
test/perf/memcpy: also emit snmalloc-checked times
1 parent c4311b4 commit ad9967b

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

src/test/perf/memcpy/memcpy.cc

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,18 @@ int main(int argc, char** argv)
106106
bool full_test = opt.has("--full_test");
107107

108108
// size_t size = 0;
109-
auto mc1 = [](void* dst, const void* src, size_t len) {
109+
auto mc_platform_checked = [](void* dst, const void* src, size_t len) {
110110
memcpy_platform_checked(dst, src, len);
111111
};
112-
auto mc2 = [](void* dst, const void* src, size_t len) {
112+
auto mc_sn = [](void* dst, const void* src, size_t len) {
113113
memcpy_unchecked(dst, src, len);
114114
};
115-
auto mc3 = [](void* dst, const void* src, size_t len) {
115+
auto mc_platform = [](void* dst, const void* src, size_t len) {
116116
memcpy(dst, src, len);
117117
};
118+
auto mc_sn_checked = [](void* dst, const void* src, size_t len) {
119+
memcpy_checked(dst, src, len);
120+
};
118121

119122
std::vector<size_t> sizes;
120123
for (size_t size = 0; size < 64; size++)
@@ -142,33 +145,36 @@ int main(int argc, char** argv)
142145
sizes.push_back(size + 5);
143146
}
144147

145-
std::vector<std::pair<size_t, std::chrono::nanoseconds>> stats_checked;
146-
std::vector<std::pair<size_t, std::chrono::nanoseconds>> stats_unchecked;
147-
std::vector<std::pair<size_t, std::chrono::nanoseconds>> stats_platform;
148+
std::vector<std::pair<size_t, std::chrono::nanoseconds>> stats_sn,
149+
stats_sn_checked, stats_platform, stats_platform_checked;
148150

149-
printf("size, checked, unchecked, platform\n");
151+
printf("size, sn, sn-checked, platform, platform-checked\n");
150152

151153
size_t repeats = full_test ? 80 : 1;
152154

153155
for (auto repeat = repeats; 0 < repeat; repeat--)
154156
{
155157
for (auto copy_size : sizes)
156158
{
157-
test(copy_size, mc1, stats_checked);
158-
test(copy_size, mc2, stats_unchecked);
159-
test(copy_size, mc3, stats_platform);
159+
test(copy_size, mc_platform_checked, stats_platform_checked);
160+
test(copy_size, mc_sn, stats_sn);
161+
test(copy_size, mc_platform, stats_platform);
162+
test(copy_size, mc_sn_checked, stats_sn_checked);
160163
}
161-
for (size_t i = 0; i < stats_checked.size(); i++)
164+
for (size_t i = 0; i < stats_sn.size(); i++)
162165
{
163-
auto& s1 = stats_checked[i];
164-
auto& s2 = stats_unchecked[i];
166+
auto& s1 = stats_sn[i];
167+
auto& s2 = stats_sn_checked[i];
165168
auto& s3 = stats_platform[i];
169+
auto& s4 = stats_platform_checked[i];
166170
std::cout << s1.first << ", " << s1.second.count() << ", "
167-
<< s2.second.count() << ", " << s3.second.count() << std::endl;
171+
<< s2.second.count() << ", " << s3.second.count() << ", "
172+
<< s4.second.count() << std::endl;
168173
}
169-
stats_checked.clear();
170-
stats_unchecked.clear();
174+
stats_sn.clear();
175+
stats_sn_checked.clear();
171176
stats_platform.clear();
177+
stats_platform_checked.clear();
172178
}
173179
#else
174180
snmalloc::UNUSED(opt);

0 commit comments

Comments
 (0)