2015-06-02 21:57:45 +00:00
|
|
|
#define BENCHPRESS_CONFIG_MAIN
|
|
|
|
|
|
|
|
#include <fstream>
|
|
|
|
#include <benchpress.hpp>
|
|
|
|
#include <json.hpp>
|
|
|
|
|
|
|
|
BENCHMARK("parse jeopardy.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/jeopardy/jeopardy.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
BENCHMARK("parse canada.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/nativejson-benchmark/canada.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
BENCHMARK("parse citm_catalog.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/nativejson-benchmark/citm_catalog.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
BENCHMARK("parse twitter.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/nativejson-benchmark/twitter.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2016-07-20 21:06:45 +00:00
|
|
|
BENCHMARK("parse numbers/floats.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/numbers/floats.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
BENCHMARK("parse numbers/signed_ints.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/numbers/signed_ints.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
BENCHMARK("parse numbers/unsigned_ints.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/numbers/unsigned_ints.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2015-06-02 21:57:45 +00:00
|
|
|
BENCHMARK("dump jeopardy.json", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/jeopardy/jeopardy.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
2015-06-03 21:34:10 +00:00
|
|
|
std::ofstream output_file("jeopardy.dump.json");
|
2015-06-02 21:57:45 +00:00
|
|
|
|
|
|
|
ctx->reset_timer();
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
2015-06-03 21:34:10 +00:00
|
|
|
output_file << j;
|
2015-06-02 21:57:45 +00:00
|
|
|
}
|
2015-06-03 21:34:10 +00:00
|
|
|
|
|
|
|
std::remove("jeopardy.dump.json");
|
2015-06-02 21:57:45 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
BENCHMARK("dump jeopardy.json with indent", [](benchpress::context* ctx)
|
|
|
|
{
|
|
|
|
std::ifstream input_file("benchmarks/files/jeopardy/jeopardy.json");
|
|
|
|
nlohmann::json j;
|
|
|
|
j << input_file;
|
2015-06-03 21:34:10 +00:00
|
|
|
std::ofstream output_file("jeopardy.dump.json");
|
2015-06-02 21:57:45 +00:00
|
|
|
|
|
|
|
ctx->reset_timer();
|
|
|
|
for (size_t i = 0; i < ctx->num_iterations(); ++i)
|
|
|
|
{
|
2015-06-03 21:34:10 +00:00
|
|
|
output_file << std::setw(4) << j;
|
2015-06-02 21:57:45 +00:00
|
|
|
}
|
2015-06-03 21:34:10 +00:00
|
|
|
|
|
|
|
std::remove("jeopardy.dump.json");
|
2015-06-02 21:57:45 +00:00
|
|
|
})
|