Advertisement
cepxuozab

GeneralJson

Aug 15th, 2024
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. #include <iostream>
  2. void Benchmark() {
  3.     const auto start = std::chrono::steady_clock::now();
  4.     Array arr;
  5.     arr.reserve(1'000);
  6.    for (int i = 0; i < 2; ++i) {
  7.        arr.emplace_back(Dict{
  8.            {"int"s, 42},
  9.            {"double"s, 42.1},
  10.            {"null"s, nullptr},
  11.            {"string"s, "hello"s},
  12.            {"array"s, Array{1, 2, 3}},
  13.            {"bool"s, true},
  14.            {"map"s, Dict{{"key"s, "value"s}}},
  15.        });
  16.    }
  17.    std::stringstream strm;
  18.    json::Print(Document{arr}, strm);
  19.    const auto doc = json::Load(strm);
  20.    assert(doc.GetRoot() == arr);
  21.    const auto duration = std::chrono::steady_clock::now() - start;
  22.    std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(duration).count() << "ms"sv
  23.              << std::endl;
  24.              Print(Document{arr}, std::cout);
  25. }
  26.  
  27. [
  28.    {
  29.        "array": [
  30.            1,
  31.            2,
  32.            3
  33.        ],
  34.        "bool": true,
  35.        "double": 42.1,
  36.        "int": 42,
  37.        "map": {
  38.            "key": "value"
  39.        },
  40.        "null": null,
  41.        "string": "hello"
  42.    },
  43.    {
  44.        "array": [
  45.            1,
  46.            2,
  47.            3
  48.        ],
  49.        "bool": true,
  50.        "double": 42.1,
  51.        "int": 42,
  52.        "map": {
  53.            "key": "value"
  54.        },
  55.        "null": null,
  56.        "string": "hello"
  57.    }
  58. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement