33#include " ../src/lz_string.hpp"
44#include " ../test_src/utilities.hpp"
55
6- constexpr size_t NUM_ITER = 100000 ;
7-
8- #define MAKE_COMPRESS_BENCHMARK (compress_func_name, input_name ) \
9- static void BM_##compress_func_name##_##input_name##(benchmark::State & \
10- state) { \
11- auto input = pxd::lz_string::to_utf16 (std::string (hello_world)); \
12- \
13- for (auto _ : state) { \
14- auto compressed = pxd::lz_string::##compress_func_name##(input); \
15- } \
16- } \
17- BENCHMARK (BM_##compress_func_name##_##input_name##)->Iterations(NUM_ITER);
18-
19- #define MAKE_DECOMPRESS_BENCHMARK (compress_func_name, decompress_func_name, \
20- input_name) \
21- static void BM_##decompress_func_name##_##input_name##(benchmark::State & \
22- state) { \
23- auto compressed = pxd::lz_string::##compress_func_name##( \
24- pxd::lz_string::to_utf16 (std::string (input_name))); \
25- \
26- for (auto _ : state) { \
27- auto decompressed = \
28- pxd::lz_string::##decompress_func_name##(compressed); \
29- } \
30- } \
31- BENCHMARK (BM_##decompress_func_name##_##input_name##)->Iterations(NUM_ITER);
32-
33- MAKE_COMPRESS_BENCHMARK (compress, hello_world);
34- MAKE_COMPRESS_BENCHMARK (compressUTF16, hello_world);
35- MAKE_COMPRESS_BENCHMARK (compressBase64, hello_world);
36- MAKE_COMPRESS_BENCHMARK (compressEncodedURI, hello_world);
37- MAKE_COMPRESS_BENCHMARK (compressUint8Array, hello_world);
38-
39- MAKE_COMPRESS_BENCHMARK (compress, all_ascii);
40- MAKE_COMPRESS_BENCHMARK (compressUTF16, all_ascii);
41- MAKE_COMPRESS_BENCHMARK (compressBase64, all_ascii);
42- MAKE_COMPRESS_BENCHMARK (compressEncodedURI, all_ascii);
43- MAKE_COMPRESS_BENCHMARK (compressUint8Array, all_ascii);
6+ /*
447
45- MAKE_COMPRESS_BENCHMARK (compress, temp_json);
46- MAKE_COMPRESS_BENCHMARK (compressUTF16, temp_json);
47- MAKE_COMPRESS_BENCHMARK (compressBase64, temp_json);
48- MAKE_COMPRESS_BENCHMARK (compressEncodedURI, temp_json);
49- MAKE_COMPRESS_BENCHMARK (compressUint8Array, temp_json);
8+ static std::string hello_world =
9+ get_text_file_content("test_src/data/hello_world_str/data.bin");
10+ static std::string all_ascii =
11+ get_text_file_content("test_src/data/all_ascii_str/data.bin");
12+ static std::string temp_json =
13+ get_text_file_content("test_src/data/temp_json/data.bin");
14+ static std::string temp_json_float =
15+ get_text_file_content("test_src/data/temp_json_float/data.bin");
5016
51- MAKE_COMPRESS_BENCHMARK (compress, temp_json_float);
52- MAKE_COMPRESS_BENCHMARK (compressUTF16, temp_json_float);
53- MAKE_COMPRESS_BENCHMARK (compressBase64, temp_json_float);
54- MAKE_COMPRESS_BENCHMARK (compressEncodedURI, temp_json_float);
55- MAKE_COMPRESS_BENCHMARK (compressUint8Array, temp_json_float);
56-
57- MAKE_DECOMPRESS_BENCHMARK (compress, decompress, hello_world);
58- MAKE_DECOMPRESS_BENCHMARK (compressUTF16, decompressUTF16, hello_world);
59- MAKE_DECOMPRESS_BENCHMARK (compressBase64, decompressBase64, hello_world);
60- MAKE_DECOMPRESS_BENCHMARK (compressEncodedURI, decompressEncodedURI,
61- hello_world);
62- MAKE_DECOMPRESS_BENCHMARK (compressUint8Array, decompressUint8Array,
63- hello_world);
64-
65- MAKE_DECOMPRESS_BENCHMARK (compress, decompress, all_ascii);
66- MAKE_DECOMPRESS_BENCHMARK (compressUTF16, decompressUTF16, all_ascii);
67- MAKE_DECOMPRESS_BENCHMARK (compressBase64, decompressBase64, all_ascii);
68- MAKE_DECOMPRESS_BENCHMARK (compressEncodedURI, decompressEncodedURI, all_ascii);
69- MAKE_DECOMPRESS_BENCHMARK (compressUint8Array, decompressUint8Array, all_ascii);
70-
71- MAKE_DECOMPRESS_BENCHMARK (compress, decompress, temp_json);
72- MAKE_DECOMPRESS_BENCHMARK (compressUTF16, decompressUTF16, temp_json);
73- MAKE_DECOMPRESS_BENCHMARK (compressBase64, decompressBase64, temp_json);
74- MAKE_DECOMPRESS_BENCHMARK (compressEncodedURI, decompressEncodedURI, temp_json);
75- MAKE_DECOMPRESS_BENCHMARK (compressUint8Array, decompressUint8Array, temp_json);
17+ constexpr size_t NUM_ITER = 100000;
7618
77- MAKE_DECOMPRESS_BENCHMARK (compress, decompress, temp_json_float);
78- MAKE_DECOMPRESS_BENCHMARK (compressUTF16, decompressUTF16, temp_json_float);
79- MAKE_DECOMPRESS_BENCHMARK (compressBase64, decompressBase64, temp_json_float);
80- MAKE_DECOMPRESS_BENCHMARK (compressEncodedURI, decompressEncodedURI,
81- temp_json_float);
82- MAKE_DECOMPRESS_BENCHMARK (compressUint8Array, decompressUint8Array,
83- temp_json_float);
8419
85- BENCHMARK_MAIN ();
20+ #define MAKE_COMPRESS_BENCHMARK(input_name) \
21+ static void BM_compress_##input_name(benchmark::State &state) { \
22+ auto input = pxd::lz_string::to_utf16(input_name); \
23+ \
24+ for (auto _ : state) { \
25+ auto compressed = pxd::lz_string::compress(input); \
26+ } \
27+ } \
28+ BENCHMARK(BM_compress_##input_name)->Iterations(NUM_ITER);
29+
30+ #define MAKE_DECOMPRESS_BENCHMARK(input_name) \
31+ static void BM_compress_##input_name(benchmark::State &state) { \
32+ auto compressed = pxd::lz_string::compress( \
33+ pxd::lz_string::to_utf16(std::string(input_name))); \
34+ \
35+ for (auto _ : state) { \
36+ auto decompressed = pxd::lz_string::decompress(compressed); \
37+ } \
38+ } \
39+ BENCHMARK(BM_decompressinput_name##)->Iterations(NUM_ITER);
40+
41+ MAKE_COMPRESS_BENCHMARK(hello_world);
42+
43+ */
0 commit comments