aboutsummaryrefslogtreecommitdiff
path: root/deps/inja/test/benchmark.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/inja/test/benchmark.cpp')
-rw-r--r--deps/inja/test/benchmark.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/deps/inja/test/benchmark.cpp b/deps/inja/test/benchmark.cpp
new file mode 100644
index 0000000..571a3ed
--- /dev/null
+++ b/deps/inja/test/benchmark.cpp
@@ -0,0 +1,29 @@
+// Copyright (c) 2020 Pantor. All rights reserved.
+
+#include "hayai/hayai.hpp"
+#include <inja/inja.hpp>
+
+using json = nlohmann::json;
+
+inja::Environment env;
+
+const std::string test_file_directory {"../test/data/benchmark/"};
+
+json small_data = env.load_json(test_file_directory + "small_data.json");
+json large_data = env.load_json(test_file_directory + "large_data.json");
+std::string medium_template = env.load_file(test_file_directory + "medium_template.txt");
+std::string large_template = env.load_file(test_file_directory + "large_template.txt");
+
+
+BENCHMARK(SmallDataMediumTemplate, render, 5, 30) { env.render(medium_template, small_data); }
+BENCHMARK(LargeDataMediumTemplate, render, 5, 15) { env.render(medium_template, large_data); }
+BENCHMARK(LargeDataLargeTemplate, render, 5, 5) { env.render(large_template, large_data); }
+
+
+int main() {
+ hayai::ConsoleOutputter consoleOutputter;
+
+ hayai::Benchmarker::AddOutputter(consoleOutputter);
+ hayai::Benchmarker::RunAllTests();
+ return 0;
+}