MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / run_width

Function run_width

examples/sort/bench_byte_swap.cpp:146–167  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144struct Row { const char * name; double ns; };
145
146void run_width(size_t width)
147{
148 const size_t pairs = 1024; // L1-friendly working set: pairs * 2 * width
149 const int iters = 5000;
150
151 verify("chunked256", bs_chunked256, width);
152 verify("chunked64", bs_chunked64, width);
153 if (width >= 8 && (width % 8) == 0) verify("words64", bs_words64, width);
154 verify("sized", bs_sized, width);
155 verify("hybrid", bs_hybrid, width);
156
157 double r_chunked256 = time_op(bs_chunked256, width, pairs, iters);
158 double r_chunked64 = time_op(bs_chunked64, width, pairs, iters);
159 double r_words64 = (width >= 8 && (width % 8) == 0) ? time_op(bs_words64, width, pairs, iters) : -1.0;
160 double r_sized = time_op(bs_sized, width, pairs, iters);
161 double r_hybrid = time_op(bs_hybrid, width, pairs, iters);
162
163 std::printf("| %4zu | %10.2f | %10.2f | ", width, r_chunked256, r_chunked64);
164 if (r_words64 < 0.0) std::printf(" n/a | ");
165 else std::printf("%10.2f | ", r_words64);
166 std::printf("%10.2f | %10.2f |\n", r_sized, r_hybrid);
167}
168
169} // anonymous
170

Callers 1

mainFunction · 0.85

Calls 3

verifyFunction · 0.85
printfFunction · 0.85
time_opFunction · 0.70

Tested by

no test coverage detected