diff --git a/benchmarks/spreadsheet-load.cpp b/benchmarks/spreadsheet-load.cpp new file mode 100644 index 00000000..dab189ae --- /dev/null +++ b/benchmarks/spreadsheet-load.cpp @@ -0,0 +1,33 @@ +#include +#include +#include + +namespace { +using milliseconds_d = std::chrono::duration; + +void run_test(xlnt::path &const file, int runs = 10) +{ + std::cout << file.string() << "\n\n"; + + xlnt::workbook wb; + std::vector test_timings; + + for (int i = 0; i < runs; ++i) + { + auto start = std::chrono::steady_clock::now(); + wb.load(file); + + auto end = std::chrono::steady_clock::now(); + wb.clear(); + test_timings.push_back(end - start); + + std::cout << milliseconds_d(test_timings.back()).count() << " ms\n"; + } +} +} // namespace + +int main() +{ + run_test(path_helper::benchmark_file("large.xlsx")); + run_test(path_helper::benchmark_file("very_large.xlsx")); +} \ No newline at end of file