Skip to content

Commit 4615b99

Browse files
constant tests are removed
1 parent 896804f commit 4615b99

File tree

3 files changed

+39
-96
lines changed

3 files changed

+39
-96
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
cmake_minimum_required(VERSION 3.5.0)
22
project(lz_string VERSION 0.1.0 LANGUAGES C CXX)
33

4+
if(NOT MSVC)
5+
set(CMAKE_BUILD_TYPE "Release")
6+
endif(NOT MSVC)
7+
48
option(PXD_BUILD_TEST "Build test executable" OFF)
59
option(PXD_BUILD_BENCHMARK "Build benchmark executable" OFF)
610

benchmark_src/benchmark.cpp

Lines changed: 34 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -3,83 +3,41 @@
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+
*/

test_src/utilities.hpp

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,4 @@ std::u16string get_decompressed(std::u16string_view value,
3333
bool compare_u16(LZStringOptions option, std::string_view input,
3434
const std::vector<uint16_t> &result);
3535

36-
bool compare_u16(std::string_view input, LZStringOptions option);
37-
38-
constexpr char hello_world[16] = "Hello World !!!";
39-
constexpr char all_ascii[96] = " !\"#$%&'()*+,-./"
40-
"0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]"
41-
"^_`abcdefghijklmnopqrstuvwxyz{|}~";
42-
constexpr char temp_json[336] =
43-
"{\"string\":\"Hello, "
44-
"World!\",\"number\":123,\"boolean\":true,\"null\":null,\"array\":[1,2,3,"
45-
"4,5],\"object\":{\"name\":\"John "
46-
"Doe\",\"age\":30,\"occupation\":\"Software "
47-
"Developer\"},\"nested_object\":{\"address\":{\"street\":\"123 Main "
48-
"St\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"12345\"}},\"array_"
49-
"of_objects\":[{\"name\":\"Jane Doe\",\"age\":25},{\"name\":\"Bob "
50-
"Smith\",\"age\":40}]}";
51-
constexpr char temp_json_float[225] =
52-
"{\"float\":3.14159,\"double\":2.71828,\"negativeFloat\":-0.12345,"
53-
"\"exponentialFloat\":0.000123,\"arrayOfFloats\":[1.1,2.2,3.3,4.4,5.5],"
54-
"\"objectWithFloats\":{\"pi\":3.14159,\"e\":2.71828},"
55-
"\"nestedObjectWithFloats\":{\"point\":{\"x\":1.1,\"y\":2.2}}}";
36+
bool compare_u16(std::string_view input, LZStringOptions option);

0 commit comments

Comments
 (0)