mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
5c590b8434
* Update basic.md to document JSON pointer for On Demand. * Add automatic rewind for at_pointer * Remove DOM examples in basics.md and update documentation reflecting addition of at_pointer automatic rewinding. * Review * Add test * Add document_stream constructors and iterate_many * Attempt to implement streaming. * Kind of fixed next() for getting next document * Temporary save. * Putting in working order. * Add working doc_index and add function next_document() * Attempt to implement streaming. * Re-anchoring json_iterator after a call to stage 1 * I am convinced it should be a 'while'. * Add source() with test. * Add truncated_bytes(). * Fix casting issues. * Fix old style cast. * Fix privacy issue. * Fix privacy issues. * Again * . * Add more tests. Add error() for iterator class. * Fix source() to not included whitespaces between documents. * Fixing CI. * Fix source() for multiple batches. Add new tests. * Fix batch_start when document has leading spaces. Add new tests for that. * Add new tests. * Temporary save. * Working hacky multithread version. * Small fix in header files. * Correct version (not working). * Adding a move assignment to ondemand::parser. * Fix attempt by changing std::swap. * Moving DEFAULT_BATCH_SIZE and MINIMAL_BATCH_SIZE. * Update doc and readme tests. * Update basics.md * Update readme_examples tests. * Fix exceptions in test. * Partial setup for amazon_cellphones. * Benchmark with vectors. * Benchmark with maps * With vectors again. * Fix for weighted average. * DOM benchmark. * Fix typos. Add On Demand benchmark. * Add large amazon_cellphones benchmark for DOM * Add benchmark for On demand. * Fix broken read_me test. * Add parser.threaded to enable/disable thread usage. Co-authored-by: Daniel Lemire <lemire@gmail.com>
93 lines
2.7 KiB
C++
93 lines
2.7 KiB
C++
#include "simdjson.h"
|
|
|
|
SIMDJSON_PUSH_DISABLE_ALL_WARNINGS
|
|
|
|
#ifdef SIMDJSON_COMPETITION_YYJSON
|
|
#include "yyjson.h"
|
|
#endif
|
|
|
|
#ifdef SIMDJSON_COMPETITION_RAPIDJSON
|
|
#include "rapidjson/document.h"
|
|
#include "rapidjson/reader.h"
|
|
#include "rapidjson/stringbuffer.h"
|
|
#include "rapidjson/writer.h"
|
|
#endif
|
|
|
|
#ifdef SIMDJSON_COMPETITION_SAJSON
|
|
#include "sajson.h"
|
|
#endif
|
|
|
|
#ifdef SIMDJSON_COMPETITION_NLOHMANN_JSON
|
|
#include <nlohmann/json.hpp>
|
|
#endif
|
|
|
|
// This has to be last, for reasons I don't yet understand
|
|
#include <benchmark/benchmark.h>
|
|
|
|
SIMDJSON_POP_DISABLE_WARNINGS
|
|
|
|
#include "amazon_cellphones/simdjson_dom.h"
|
|
#include "amazon_cellphones/simdjson_ondemand.h"
|
|
|
|
#include "large_amazon_cellphones/simdjson_dom.h"
|
|
#include "large_amazon_cellphones/simdjson_ondemand.h"
|
|
|
|
#include "partial_tweets/simdjson_dom.h"
|
|
#include "partial_tweets/simdjson_ondemand.h"
|
|
#include "partial_tweets/yyjson.h"
|
|
#include "partial_tweets/sajson.h"
|
|
#include "partial_tweets/rapidjson.h"
|
|
#include "partial_tweets/rapidjson_sax.h"
|
|
#include "partial_tweets/nlohmann_json.h"
|
|
#include "partial_tweets/nlohmann_json_sax.h"
|
|
|
|
#include "large_random/simdjson_dom.h"
|
|
#include "large_random/simdjson_ondemand.h"
|
|
#include "large_random/simdjson_ondemand_unordered.h"
|
|
#include "large_random/yyjson.h"
|
|
#include "large_random/sajson.h"
|
|
#include "large_random/rapidjson.h"
|
|
#include "large_random/rapidjson_sax.h"
|
|
#include "large_random/nlohmann_json.h"
|
|
#include "large_random/nlohmann_json_sax.h"
|
|
|
|
#include "kostya/simdjson_dom.h"
|
|
#include "kostya/simdjson_ondemand.h"
|
|
#include "kostya/yyjson.h"
|
|
#include "kostya/sajson.h"
|
|
#include "kostya/rapidjson.h"
|
|
#include "kostya/rapidjson_sax.h"
|
|
#include "kostya/nlohmann_json.h"
|
|
#include "kostya/nlohmann_json_sax.h"
|
|
|
|
#include "distinct_user_id/simdjson_dom.h"
|
|
#include "distinct_user_id/simdjson_dom_json_pointer.h"
|
|
#include "distinct_user_id/simdjson_ondemand.h"
|
|
#include "distinct_user_id/simdjson_ondemand_json_pointer.h"
|
|
#include "distinct_user_id/yyjson.h"
|
|
#include "distinct_user_id/sajson.h"
|
|
#include "distinct_user_id/rapidjson.h"
|
|
#include "distinct_user_id/rapidjson_sax.h"
|
|
#include "distinct_user_id/nlohmann_json.h"
|
|
#include "distinct_user_id/nlohmann_json_sax.h"
|
|
|
|
#include "find_tweet/simdjson_dom.h"
|
|
#include "find_tweet/simdjson_ondemand.h"
|
|
#include "find_tweet/yyjson.h"
|
|
#include "find_tweet/sajson.h"
|
|
#include "find_tweet/rapidjson.h"
|
|
#include "find_tweet/rapidjson_sax.h"
|
|
#include "find_tweet/nlohmann_json.h"
|
|
#include "find_tweet/nlohmann_json_sax.h"
|
|
|
|
#include "top_tweet/simdjson_dom.h"
|
|
#include "top_tweet/simdjson_ondemand.h"
|
|
#include "top_tweet/yyjson.h"
|
|
#include "top_tweet/sajson.h"
|
|
#include "top_tweet/rapidjson.h"
|
|
#include "top_tweet/rapidjson_sax.h"
|
|
#include "top_tweet/nlohmann_json.h"
|
|
#include "top_tweet/nlohmann_json_sax.h"
|
|
|
|
BENCHMARK_MAIN();
|