| 174 | } |
| 175 | |
| 176 | static void regitser_OnDemand() { |
| 177 | std::vector<OnDemand> tests = { |
| 178 | {"twitter", "Normal", {"search_metadata", "count"}, 100, true}, |
| 179 | {"citm_catalog", |
| 180 | "Fronter", |
| 181 | {"events", "342742596", "id"}, |
| 182 | 342742596, |
| 183 | true}, |
| 184 | {"twitter", "NotFound", {"NotFound"}}, |
| 185 | }; |
| 186 | |
| 187 | for (auto &t : tests) { |
| 188 | auto file_path = std::string("testdata/") + t.file + ".json"; |
| 189 | t.json = get_json(file_path); |
| 190 | |
| 191 | #define REG_ONDEMAND(JSON) \ |
| 192 | { \ |
| 193 | auto name = \ |
| 194 | std::string(t.file) + ("/" #JSON "OnDemand") + "_" + t.name.c_str(); \ |
| 195 | benchmark::RegisterBenchmark(name.c_str(), BM_##JSON##OnDemand, t); \ |
| 196 | } |
| 197 | REG_ONDEMAND(Sonic); |
| 198 | REG_ONDEMAND(RapidjsonSax); |
| 199 | REG_ONDEMAND(SIMDjson); |
| 200 | } |
| 201 | } |
| 202 | |
| 203 | int main(int argc, char **argv) { |
| 204 | benchmark::Initialize(&argc, argv); |