-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEvidenceLog.csv
More file actions
We can make this file beautiful and searchable if this error is corrected: It looks like row 2 should actually have 15 columns, instead of 14 in line 1.
81 lines (76 loc) · 30.4 KB
/
Copy pathEvidenceLog.csv
File metadata and controls
81 lines (76 loc) · 30.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
evidence_id,topic,library,claim,metric,value,unit,dataset_or_code,method,source_url,source_type,author_org,pub_date,retrieved_date,notes
EVID-20250808-standard-compliance-boost-001,Standard Compliance,Boost.JSON,"Boost.JSON implements JSON as standardized in RFC 8259","guarantee equal serialize-parse round-trip","parse → serialize → parse equals original","value round-trip","documentation refers to RFC 8259 for standard format","https://www.boost.org/doc/libs/release/libs/json/",documentation,Boost,,2025-08-08,"Library ensures any value serialized can be deserialized back equal to original, per docs referencing RFC 8259"
EVID-20250808-standard-compliance-boost-002,Standard Compliance,Boost.JSON,"By default the parser only accepts strictly conforming JSON (UTF-8)","strict mode","boolean true","parse_options default settings","documentation statement","https://www.boost.org/doc/libs/release/libs/json/doc/html/json/ref/boost__json__basic_parser.html",documentation,Boost,,2025-08-08,"Default parser accepts only RFC-compliant UTF-8 JSON unless parse_options relaxations used"
EVID-20250808-standard-compliance-boost-003,Standard Compliance,Boost.JSON,"The parser behavior can be relaxed to allow non-standard syntax like comments or trailing commas","opt-in extensions","allow_comments, allow_trailing_commas","flag settings in parse_options","documentation statement","https://www.boost.org/doc/libs/release/libs/json/doc/html/json/quick_look.html",documentation,Boost,,2025-08-08,"Non-standard syntax allowed only when parse_options flags are explicitly set"
EVID-20250808-standard-compliance-boost-004,Standard Compliance,Boost.JSON,"Boost.JSON implements JSON per the definition and spec of RFC 8259","standard referenced","RFC 8259 compliance","documentation statements","documentation statement","https://www.boost.org/doc/libs/release/libs/json/",documentation,Boost,,2025-08-08,"Overview states library implements JSON standardized in RFC 8259"
EVID-20250808-standard-compliance-glaze-001,Standard Compliance,Glaze,"Glaze requires C++23; uses concepts and standard-compliant code","requirement","C++23","language standard","documentation statement","https://github.com/stephenberry/glaze#readme",documentation,Glaze,,2025-08-08,"Docs state Glaze requires C++23 and uses concepts for cleaner code"
EVID-20250808-standard-compliance-glaze-002,Standard Compliance,Glaze,"Glaze tested on GCC, Clang, MSVC across Linux, macOS, Windows","testing platforms support","GCC, Clang, MSVC","platforms","documentation statement","https://github.com/stephenberry/glaze",documentation,Glaze,,2025-08-08,"Docs list support on multiple compilers and OS"
EVID-20250808-standard-compliance-glaze-003,Standard Compliance,Glaze,"Glaze serializes/deserializes directly from C++ memory with in-memory JSON","operation mode","in-memory serialization","mode","documentation statement","https://github.com/stephenberry/glaze#readme",documentation,Glaze,,2025-08-08,"Describes direct memory reads/writes simplifying interface"
EVID-20250808-standard-compliance-glaze-004,Standard Compliance,Glaze,"By default Glaze errors on unknown extra JSON keys; opt-in flag allows skipping unknown keys","error behavior","error_on_unknown_keys default true","flag","article","https://clehaxze.tw/gemlog/2024/06-09-compare-nlohmann-json-to-glaze.gmi",article,Martin Chang,2024-06-09,2025-08-08,"Extra keys cause error unless opts{.error_on_unknown_keys = false} set; primary_doc=TBD"
EVID-20250808-standard-compliance-nlohmann-001,Standard Compliance,nlohmann/json,"Supports only UTF-8 (default), per RFC 8259","encoding support","UTF-8 only","supported encoding","documentation statement","https://json.nlohmann.me/home/faq/",documentation,nlohmann/json,,2025-08-08,"Only UTF-8 input is supported, as per default JSON spec"
EVID-20250808-standard-compliance-nlohmann-002,Standard Compliance,nlohmann/json,"Does not support comments by default (non-standard)","comment support default","false","flag","documentation statement","https://github.com/nlohmann/json",documentation,nlohmann/json,,2025-08-08,"Comments disallowed unless ignore_comments set true"
EVID-20250808-standard-compliance-nlohmann-003,Standard Compliance,nlohmann/json,"Does not allow trailing commas by default (non-standard)","trailing commas default","false","flag","documentation statement","https://json.nlohmann.me/features/trailing_commas/",documentation,nlohmann/json,,2025-08-08,"Trailing commas disallowed unless ignore_trailing_commas true"
EVID-20250808-standard-compliance-nlohmann-004,Standard Compliance,nlohmann/json,"parse() takes ignore_comments and ignore_trailing_commas flags","opts available","ignore_comments, ignore_trailing_commas","flags","documentation statement","https://json.nlohmann.me/api/basic_json/parse/",documentation,nlohmann/json,,2025-08-08,"Flags are opt-in to relax compliance"
EVID-20250808-standard-compliance-nlohmann-005,Standard Compliance,nlohmann/json,"Objects treated as unordered per JSON spec; insertion order not preserved","object order behavior","unordered by default","behavior","documentation statement","https://github.com/nlohmann/json",documentation,nlohmann/json,,2025-08-08,"Insertion order not preserved unless using ordered_json"
EVID-20250808-standard-compliance-simdjson-001,Standard Compliance,simdjson,"The simdjson library is fully compliant with the RFC 8259 JSON specification","compliance","full","compliance level","documentation statement","https://simdjson.org/api/2.0.0/md_doc_basics.html",documentation,simdjson,,2025-08-08,"Official docs claim full RFC 8259 compliance"
EVID-20250808-standard-compliance-simdjson-002,Standard Compliance,simdjson,"simdjson was the first standard-compliant JSON parser to process gigabytes per second on single core","standard-compliant performance","first","milestone","paper","https://arxiv.org/abs/1902.08318",paper,simdjson authors,2019-02-22,2025-08-08,"Paper describes first standard-compliant parser achieving GB/s"
EVID-20250808-standard-compliance-simdjson-003,Standard Compliance,simdjson,"simdjson offers full unicode (UTF-8) validation and exact number parsing","validation features","full UTF-8, exact numbers","feature set","documentation statement","https://github.com/simdjson/simdjson",documentation,simdjson,,2025-08-08,"Readme notes full UTF-8 validation and exact number parsing"
EVID-20250808-standard-compliance-simdjson-004,Standard Compliance,simdjson,"Feature request to allow NaN/Infinity parsing is labeled non-JSON extension","deviation","NaN/Infinity not supported by default","behavior","issue discussion","https://github.com/simdjson/simdjson/issues/1540",issue,simdjson,,2025-08-08,"Non-standard parsing (NaN/Infinity) currently unsupported unless extension"
EVID-20250808-standard-compliance-simdjson-005,Standard Compliance,simdjson,"simdjson limits single JSON documents to 4 GiB and refuses larger","size limitation","max 4 GiB","bytes","documentation statement","https://simdjson.org/api/0.6.0/md_doc_basics.html",documentation,simdjson,,2025-08-08,"Enforced document size limit noted in basics; verify_in_2x_docs"
EVID-20250824-StreamingSupport-BoostJSON-001,Streaming Support,Boost.JSON,"Boost.JSON provides an incremental SAX-style parser via basic_parser with event callbacks; supports multi-segment input.",feature_support,supports,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/ref/boost__json__basic_parser.html,documentation,Boost,2024-08-14,2025-08-23,"Handler callbacks; incremental segments."
EVID-20250824-StreamingSupport-BoostJSON-002,Streaming Support,Boost.JSON,"stream_parser parses JSON piecewise from multiple buffers into a value; caller feeds chunks via write and finishes to obtain result.",feature_support,supports,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/ref/boost__json__stream_parser.html,documentation,Boost,2024-08-14,2025-08-23,"Incremental DOM parse."
EVID-20250824-StreamingSupport-BoostJSON-003,Streaming Support,Boost.JSON,"Streaming parse accepts contiguous buffers; whole document need not be resident; callers feed chunks from streams/files/sockets.",io_mode,chunks,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/ref/boost__json__stream_parser.html,documentation,Boost,2024-08-14,2025-08-23,"Chunked input."
EVID-20250824-StreamingSupport-BoostJSON-004,Streaming Support,Boost.JSON,"Parser handles UTF-8 sequences split across buffers by buffering incomplete multibyte sequences and validating when complete.",utf8_split_handling,supported,,,blog,https://cppalliance.org/krystian/2020/09/06/KrystiansAugustUpdate.html,blog,C++ Alliance,2020-09-06,2025-08-23,"Maintainer blog."
EVID-20250824-StreamingSupport-BoostJSON-005,Streaming Support,Boost.JSON,"Error offset can be derived by incremental feeding: consumed character count indicates failure position (no direct position API).",error_reporting,offset_via_consumed,,,mailing_list,https://listarchives.boost.org/Archives/boost/2022/04/252844.php,mailing_list,Boost,2022-04-25,2025-08-23,"Mailing list guidance."
EVID-20250824-StreamingSupport-BoostJSON-006,Streaming Support,Boost.JSON,"serializer supports incremental output via repeated reads while traversing a value (streaming serialization).",feature_support,supports,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/ref/boost__json__serializer.html,documentation,Boost,2024-08-14,2025-08-23,"Streaming serialize."
EVID-20250824-StreamingSupport-BoostJSON-007,Streaming Support,Boost.JSON,"Default maximum nesting depth is 32; configurable via parse_options; exceeding returns error.",max_depth,32,levels,,documentation,https://www.boost.org/doc/libs/1_89_0_beta1/libs/json/doc/html/ref/parse_options/max_depth.html,documentation,Boost,2024-08-14,2025-08-23,"Configurable."
EVID-20250824-StreamingSupport-BoostJSON-008,Streaming Support,Boost.JSON,"SAX handler provides on_string_part/on_number_part for tokens spanning buffers; final on_string/number emitted when complete.",token_partial_events,supported,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/ref/boost__json__basic_parser.html,documentation,Boost,2024-08-14,2025-08-23,"Part events."
EVID-20250824-StreamingSupport-BoostJSON-009,Streaming Support,Boost.JSON,"Parsers and serializer can be reset and reused across multiple documents to reuse internal storage and reduce allocations.",state_reuse,supported,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/input_output.html,documentation,Boost,2024-08-14,2025-08-23,"Reuse state."
EVID-20250824-StreamingSupport-BoostJSON-010,Streaming Support,Boost.JSON,"Chunked incremental parsing enables bounded per-iteration CPU/memory and lower latency under backpressure.",backpressure_support,improves,,,documentation,https://www.boost.org/doc/libs/1_86_0/libs/json/doc/html/json/input_output.html,documentation,Boost,2024-08-14,2025-08-23,"Backpressure-friendly."
EVID-20250824-StreamingSupport-nlohmann-001,Streaming Support,nlohmann/json,"Provides a SAX event-driven parser via json::sax_parse over strings or streams.",SAX_parser,available,,,documentation,https://json.nlohmann.me/api/basic_json/sax_parse/,documentation,nlohmann/json,2020-12-07,2025-08-23,"SAX handler callbacks."
EVID-20250824-StreamingSupport-nlohmann-002,Streaming Support,nlohmann/json,"No incremental (resume) parsing; truncated JSON cannot be resumed.",incremental_parsing,supports,no,,forum,https://www.reddit.com/r/cpp_questions/comments/goppg8/nlohmannjson_how_to_parse_a_stream_of_json_objects/,forum,Reddit user Xeverous,2020-05-22,2025-08-23,"Community guidance; no official resume API."
EVID-20250824-StreamingSupport-nlohmann-003,Streaming Support,nlohmann/json,"JSON Lines/NDJSON not directly supported; expects single JSON value per input.",NDJSON_support,not_supported,,,documentation,https://json.nlohmann.me/features/parsing/json_lines/,documentation,nlohmann/json,2021-03-29,2025-08-23,"JSON Lines page."
EVID-20250824-StreamingSupport-nlohmann-004,Streaming Support,nlohmann/json,"No pull/on-demand iterator parser; offers DOM and SAX (push) only.",pull_parser,not_available,,,comparative_docs,https://www.boost.org/doc/libs/1_85_0/libs/json/doc/html/json/comparison.html,documentation,Boost,2022-06-08,2025-08-23,"Comparative reference."
EVID-20250824-StreamingSupport-nlohmann-005,Streaming Support,nlohmann/json,"No incremental streaming serialization; output produced in one shot.",streaming_serialize,not_available,,,comparative_docs,https://www.boost.org/doc/libs/1_85_0/libs/json/doc/html/json/comparison.html,documentation,Boost,2022-06-08,2025-08-23,"Comparative reference."
EVID-20250824-StreamingSupport-nlohmann-006,Streaming Support,nlohmann/json,"ordered_json preserves insertion order; default object order is lexicographic.",key_order,optional,,,documentation,https://json.nlohmann.me/api/ordered_json/,documentation,nlohmann/json,2020-09-01,2025-08-23,
EVID-20250824-StreamingSupport-nlohmann-007,Streaming Support,nlohmann/json,"Supports output to std::ostream via operator<< (uses dump()).",ostream_output,available,,,documentation,https://json.nlohmann.me/api/operator_ltlt/,documentation,nlohmann/json,2020-09-01,2025-08-23,
EVID-20250824-StreamingSupport-nlohmann-008,Streaming Support,nlohmann/json,"DOM parse errors throw exceptions with descriptive messages (e.g., parse_error.101).",error_reporting_DOM,exceptions,,,documentation,https://json.nlohmann.me/home/exceptions/,documentation,nlohmann/json,2020-02-02,2025-08-23,
EVID-20250824-StreamingSupport-nlohmann-009,Streaming Support,nlohmann/json,"In SAX mode, parse errors reported via parse_error callback; sax_parse returns false (no throw).",error_reporting_SAX,callback,,,documentation,https://json.nlohmann.me/api/basic_json/sax_parse/,documentation,nlohmann/json,2020-12-07,2025-08-23,
EVID-20250824-StreamingSupport-nlohmann-010,Streaming Support,nlohmann/json,"Flexible inputs: parse from std::istream or iterator ranges of (UTF-8/16/32) bytes.",input_sources,"istream, iterator",,,documentation,https://json.nlohmann.me/features/parsing/,documentation,nlohmann/json,2019-09-16,2025-08-23,
EVID-20250824-StreamingSupport-Glaze-001,Streaming Support,Glaze,"No incremental/chunked parsing; expects contiguous input; default opts.null_terminated=true (can disable with perf tradeoff).",incremental_parsing,not_supported,,,documentation,https://github.com/stephenberry/glaze#readme,documentation,Glaze,2025-08-19,2025-08-23,"Requires contiguous buffer."
EVID-20250824-StreamingSupport-Glaze-002,Streaming Support,Glaze,"Author notes streaming file parse is slower than reading whole file first; streaming may reduce RAM for huge files.",stream_vs_memory,tradeoff,,,author_comment,https://www.reddit.com/r/cpp/comments/y37pd7/new_fastest_json_library_for_c20/,forum,Stephen Berry (Flex_Code),2022-10-15,2025-08-23,
EVID-20250824-StreamingSupport-Glaze-003,Streaming Support,Glaze,"No coroutine/async JSON parser; JSON functions are synchronous; async exists at HTTP transport level (Asio).",async_parser,not_available,,,release_notes,https://github.com/stephenberry/glaze/releases/tag/v5.5.0,documentation,Glaze,2024-06-30,2025-08-23,
EVID-20250824-StreamingSupport-Glaze-004,Streaming Support,Glaze,"partial_read supports compile-time partial parsing: reads known fields, skips remainder.",partial_read,supported,,,documentation,https://stephenberry.github.io/glaze/partial-read/,documentation,Glaze,2024-06-04,2025-08-23,
EVID-20250824-StreamingSupport-Glaze-005,Streaming Support,Glaze,"Parse errors return error codes; formatter can display exact line/column with caret to location.",error_reporting,line_and_column,,,documentation,https://github.com/stephenberry/glaze#readme,documentation,Glaze,2025-08-19,2025-08-23,
EVID-20250824-StreamingSupport-Glaze-006,Streaming Support,Glaze,"By default errors on unknown keys; option error_on_unknown_keys=false skips them; custom unknown_read/unknown_write handlers available.",unknown_keys,configurable,,,documentation,https://stephenberry.github.io/glaze/unknown-keys/,documentation,Glaze,2023-09-10,2025-08-23,
EVID-20250824-StreamingSupport-Glaze-007,Streaming Support,Glaze,"In-memory (de)serialization without DOM; writes/reads directly to C++ object memory.",in_memory_mode,supported,,,documentation,https://github.com/stephenberry/glaze#readme,documentation,Glaze,2025-08-19,2025-08-23,
EVID-20250824-StreamingSupport-simdjson-001,Streaming Support,simdjson,"Supports NDJSON/JSON Lines via parse_many (DOM) and iterate_many (On Demand), returning a document_stream for per-document iteration.",NDJSON_support,supported,,,documentation,https://simdjson.org/api/latest/md_doc_parse_many.html,documentation,simdjson,,2025-08-24,"document_stream APIs."
EVID-20250824-StreamingSupport-simdjson-002,Streaming Support,simdjson,"On Demand API provides on-the-fly parsing of values without building a full DOM (not SAX/event-based).",on_demand_parser,available,,,documentation,https://simdjson.org/api/latest/md_doc_ondemand.html,documentation,simdjson,,2025-08-24,"On Demand overview."
EVID-20250824-StreamingSupport-simdjson-003,Streaming Support,simdjson,"Parsers can be reused across inputs to reduce allocations; designed for high-throughput incremental workflows.",parser_reuse,supported,,,documentation,https://simdjson.org/api/latest/md_doc_basics.html,documentation,simdjson,,2025-08-24,"Parser reuse noted in basics."
EVID-20250824-StreamingSupport-simdjson-004,Streaming Support,simdjson,"Requires input padding of SIMDJSON_PADDING bytes (currently 32) at the end of the buffer for safe SIMD parsing.",input_padding,32,bytes,,documentation,https://simdjson.org/api/latest/md_doc_basics.html,documentation,simdjson,,2025-08-24,"Padding requirement."
EVID-20250824-StreamingSupport-simdjson-005,Streaming Support,simdjson,"Default maximum nesting depth is 1024 levels; deeper documents are rejected.",max_depth,1024,levels,,documentation,https://simdjson.org/api/latest/md_doc_basics.html,documentation,simdjson,,2025-08-24,
EVID-20250824-StreamingSupport-simdjson-006,Streaming Support,simdjson,"Fully validates UTF-8; reported validation speeds up to ~13 GB/s on Intel Skylake in project README.",utf8_validation_speed,13,GB/s,Synthetic,documentation,https://github.com/simdjson/simdjson#performance,documentation,simdjson,2021-05-01,2025-08-24,"Performance note from README.""EVID-20250824-ParseSpeed-Boost-001","Performance — Parse Speed","Boost.JSON","Using a monotonic memory resource, Boost.JSON parsed a 125 KB JSON file ~2.5× faster than with default allocation (740 MB/s vs 290 MB/s on clang)","Parse throughput","740","MB/s","apache_builds.json (125 KB)","Intel Core i7-7700K (4.2 GHz), Windows 10; clang 12.0 -O3; single-thread; Boost JSON 1.83; JSON size 125 KB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Documentation","Boost","2023-08-11","2025-08-23","DOM parse (monotonic memory pool vs default resource, stream parser reused)"
"EVID-20250824-ParseSpeed-Boost-002","Performance — Parse Speed","Boost.JSON","Boost.JSON’s DOM parser can exceed 1 GB/s on numeric-only JSON: using a monotonic pool it parsed a 147 KB array of floats at 1105 MB/s (clang)","Parse throughput","1105","MB/s","numbers.json (147 KB, array of doubles)","Intel Core i7-7700K, Windows 10; clang 12.0 -O3; single-thread; Boost JSON 1.83; JSON size 147 KB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Documentation","Boost","2023-08-11","2025-08-23","DOM parse (monotonic memory, incremental parser reused; default fast number parsing)"
"EVID-20250824-ParseSpeed-Boost-003","Performance — Parse Speed","Boost.JSON","Thanks to SSE2-optimized algorithms, Boost.JSON significantly outpaces other libraries on unescaped strings (parsing a ~992 KB strings-only JSON at ~6000 MB/s)","Parse throughput","6002","MB/s","strings.json (~992 KB, long unescaped strings)","Intel Core i7-6950X (3.0 GHz), Windows 10; clang (x64 SSE2) -O3; single-thread; Boost JSON pre-1.75; JSON size ~1 MB","https://230.jsondocs.prtest.cppalliance.org/libs/json/doc/html/json/benchmarks.html","Documentation","Boost","2020-12-11","2025-08-23","DOM parse (monotonic memory, parser reused; input with long unescaped strings)"
"EVID-20250824-ParseSpeed-Boost-004","Performance — Parse Speed","Boost.JSON","Boost.JSON achieved 1120 MB/s parsing a 1.69 MB JSON (citm_catalog) with clang using monotonic resource, approaching RapidJSON’s best 1200 MB/s","Parse throughput","1120","MB/s","citm_catalog.json (1.69 MB, mixed content)","Intel Core i7-7700K, Windows 10; clang 12.0 -O3; single-thread; Boost JSON 1.83; JSON size 1.69 MB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Documentation","Boost","2023-08-11","2025-08-23","DOM parse (monotonic memory, stream parser reused between parses)"
"EVID-20250824-ParseSpeed-Boost-005","Performance — Parse Speed","Boost.JSON","On JSON with all non-ASCII characters escaped (550 KB input), Boost.JSON (monotonic) reached 567 MB/s parse throughput on clang (vs ~398 MB/s for RapidJSON)","Parse throughput","567","MB/s","twitterescaped.json (550 KB, all \\u Unicode escapes)","Intel Core i7-7700K, Windows 10; clang 12.0 -O3; single-thread; Boost JSON 1.83; JSON size 550 KB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Documentation","Boost","2023-08-11","2025-08-23","DOM parse (monotonic memory, parser reused; input heavy in Unicode escape sequences)"
"EVID-20250824-ParseSpeed-simdjson-001","Performance — Parse Speed","simdjson","First fully-validating JSON parser to exceed 2 GB/s (reaching 3 GB/s on GSOC-2018)","Throughput","3.0","GB/s","GSOC-2018 JSON file","Intel Skylake (3.4 GHz); GNU GCC 10 -O3; 1 thread; simdjson 0.x (2019); ~60 MB JSON","https://arxiv.org/abs/1902.08318","Research Paper","simdjson","2019-06-01","2025-08-23","DOM (full parse, UTF-8 validating)"
"EVID-20250824-ParseSpeed-simdjson-002","Performance — Parse Speed","simdjson","Version 0.3 improved parsing speed from ~2.2 GB/s to ~2.5 GB/s on a large JSON file","Throughput","2.5","GB/s","twitter.json (social-media dataset)","Intel Skylake (3.4 GHz); GNU GCC -O3; 1 thread; simdjson 0.3 (2020); ~60 MB JSON","https://lemire.me/blog/2020/03/31/we-released-simdjson-0-3-the-fastest-json-parser-in-the-world-is-even-better/","Blog","simdjson","2020-03-31","2025-08-23","DOM (eager full parse)"
"EVID-20250824-ParseSpeed-simdjson-003","Performance — Parse Speed","simdjson","Multithreaded NDJSON (line-delimited JSON) parsing throughput reaches ~3.5 GB/s","Throughput","3.5","GB/s","NDJSON stream (multiple JSON docs)","Intel x64 commodity CPU; GNU C++ -O3; multi-core; simdjson 0.4 (2020); NDJSON log file","https://github.com/simdjson/simdjson","Documentation","simdjson","2020-07-15","2025-08-23","DOM (parse_many API, parallel stage 1/2)"
"EVID-20250824-ParseSpeed-simdjson-004","Performance — Parse Speed","simdjson","On-Demand mode parses partial_tweets JSON at ~6.8 GB/s on a Sapphire Rapids CPU","Throughput","6.83","GB/s","partial_tweets.json (tweets sample)","Intel Xeon Platinum 8488C (Sapphire Rapids 3.4 GHz); GNU GCC 12 -O3; 1 thread; simdjson 3.x (2024); 3 MB JSON","https://lemire.me/blog/2024/02/09/json-parsing-intel-sapphire-rapids-versus-amd-zen-4/","Blog","simdjson","2024-02-09","2025-08-23","On-Demand (lazy parse, no full DOM materialization)"
"EVID-20250824-ParseSpeed-simdjson-005","Performance — Parse Speed","simdjson","DOM mode parses partial_tweets JSON at ~4.8 GB/s on the same platform","Throughput","4.77","GB/s","partial_tweets.json (tweets sample)","Intel Xeon Platinum 8488C (Sapphire Rapids 3.4 GHz); GNU GCC 12 -O3; 1 thread; simdjson 3.x (2024); 3 MB JSON","https://lemire.me/blog/2024/02/09/json-parsing-intel-sapphire-rapids-versus-amd-zen-4/","Blog","simdjson","2024-02-09","2025-08-23","DOM (eager parse, full tree materialized)"
"EVID-20250824-ParseSpeed-simdjson-006","Performance — Parse Speed","simdjson","On-Demand parsing with on-the-fly distinct user.id extraction reaches ~7.0 GB/s","Throughput","6.99","GB/s","twitter.json (distinct_user_id query)","Intel Xeon Platinum 8488C (Sapphire Rapids 3.4 GHz); GNU GCC 12 -O3; 1 thread; simdjson 3.x (2024); ~60 MB JSON","https://lemire.me/blog/2024/02/09/json-parsing-intel-sapphire-rapids-versus-amd-zen-4/","Blog","simdjson","2024-02-09","2025-08-23","On-Demand (parse + distinct key filtering in one pass)"
"EVID-20250824-ParseSpeed-simdjson-007","Performance — Parse Speed","simdjson","DOM parsing plus separate distinct user.id traversal yields ~4.9 GB/s overall","Throughput","4.90","GB/s","twitter.json (distinct_user_id query)","Intel Xeon Platinum 8488C (Sapphire Rapids 3.4 GHz); GNU GCC 12 -O3; 1 thread; simdjson 3.x (2024); ~60 MB JSON","https://lemire.me/blog/2024/02/09/json-parsing-intel-sapphire-rapids-versus-amd-zen-4/","Blog","simdjson","2024-02-09","2025-08-23","DOM (full parse, then in-memory distinct extraction)"
"EVID-20250824-ParseSpeed-nlohmann-001","Performance — Parse Speed","nlohmann/json","Parses at ~0.1 GB/s (~100 MB/s) on a 617 KB Twitter JSON","Throughput","0.1","GB/s","twitter.json","Intel Skylake 3.4 GHz, Linux; g++ 8 -O3; 1 thread; nlohmann/json v3.x; 617 KB","https://phlip9.com/notes/performance/simdjson%20talk/","Blog","nlohmann/json","2019-08-02","2025-08-24","DOM parse, single-threaded"
"EVID-20250824-ParseSpeed-nlohmann-002","Performance — Parse Speed","nlohmann/json","~137 MB/s parsing throughput on a 617 KB Twitter API JSON","Throughput","137","MB/s","twitter.json","Intel Core i7-7700K 4.2 GHz, Windows 10; Clang 12.0 -O3; 1 thread; nlohmann/json v3.x; 617 KB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Library Documentation","nlohmann/json","2020-12-11","2025-08-24","DOM parse, single-threaded"
"EVID-20250824-ParseSpeed-nlohmann-003","Performance — Parse Speed","nlohmann/json","~86 MB/s parsing speed on a 499 KB JSON with many non-ASCII characters","Throughput","86","MB/s","random.json","Intel Core i7-7700K 4.2 GHz, Windows 10; Clang 12.0 -O3; 1 thread; nlohmann/json v3.x; 499 KB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Library Documentation","nlohmann/json","2020-12-11","2025-08-24","DOM parse, full UTF-8 validation"
"EVID-20250824-ParseSpeed-nlohmann-004","Performance — Parse Speed","nlohmann/json","~63 MB/s parsing speed for a 147 KB array of floating-point numbers","Throughput","63","MB/s","numbers.json","Intel Core i7-7700K 4.2 GHz, Windows 10; Clang 12.0 -O3; 1 thread; nlohmann/json v3.x; 147 KB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Library Documentation","nlohmann/json","2020-12-11","2025-08-24","DOM parse, heavy numeric content"
"EVID-20250824-ParseSpeed-nlohmann-005","Performance — Parse Speed","nlohmann/json","~55 MB/s parsing speed on a 2.2 MB JSON of coordinate arrays","Throughput","55","MB/s","canada.json","Intel Core i7-7700K 4.2 GHz, Windows 10; Clang 12.0 -O3; 1 thread; nlohmann/json v3.x; 2.2 MB","https://www.boost.org/doc/libs/1_83_0/libs/json/doc/html/json/benchmarks.html","Library Documentation","nlohmann/json","2020-12-11","2025-08-24","DOM parse, heavy numeric content"
"EVID-20250824-ParseSpeed-nlohmann-006","Performance — Parse Speed","nlohmann/json","~93 MB/s parsing throughput on a 64 KB GitHub events JSON file","Throughput","0.093","GB/s","github_events.json","Intel Skylake 3.4 GHz, Linux; GCC 8.3 -O3; 1 thread; nlohmann/json v3.x; 64 KB","https://lemire.me/blog/2019/08/02/json-parsing-simdjson-vs-json-for-modern-c/","Blog","nlohmann/json","2019-08-02","2025-08-24","DOM parse, single-threaded"
"EVID-20250824-ParseSpeed-Glaze-001","Performance — Parse Speed","Glaze","Glaze reached ~1081 MB/s JSON parsing speed","Throughput","1081","MB/s","Custom JSON (670 B)","Apple M1 (macOS); Clang 15; 1,000,000 iterations, 1 thread; Glaze main (Dec 22, 2023); JSON 670 B","https://github.com/stephenberry/json_performance/blob/ebdbe28bc17a0e9e0bb000a8de93ac3c239e1016/README.md","GitHub README","Glaze","2023-12-22","2025-08-24","Full JSON parse (in-memory struct)"
"EVID-20250824-ParseSpeed-Glaze-002","Performance — Parse Speed","Glaze","Glaze achieved ~1175 MB/s JSON parse throughput by April 2024","Throughput","1175","MB/s","Custom JSON (670 B)","Apple M1 (macOS); Clang 15; 1,000,000 iterations, 1 thread; Glaze main (Apr 22, 2024); JSON 670 B","https://github.com/stephenberry/json_performance/blob/ebdbe28bc17a0e9e0bb000a8de93ac3c239e1016/README.md","GitHub README","Glaze","2024-04-22","2025-08-24","Full JSON parse (in-memory struct)"
"EVID-20250824-ParseSpeed-Glaze-003","Performance — Parse Speed","Glaze","Glaze reached ~1096 MB/s JSON parse throughput","Throughput","1096","MB/s","Custom JSON (670 B)","Apple M1 (macOS); Clang 15; 1,000,000 iterations, 1 thread; Glaze main (May 13, 2024); JSON 670 B","https://github.com/stephenberry/json_performance/blob/55a77de5f4fdd714e18e4e7736bbbbde6a7f593a/README.md","GitHub README","Glaze","2024-05-13","2025-08-24","Full JSON parse (in-memory struct)"
"EVID-20250824-ParseSpeed-Glaze-004","Performance — Parse Speed","Glaze","Glaze parsed JSON at ~1173 MB/s (single-threaded)","Throughput","1173","MB/s","Custom JSON (670 B)","Apple M1 (macOS); Clang 15; 1,000,000 iterations, 1 thread; Glaze main (July 17, 2024); JSON 670 B","https://github.com/stephenberry/json_performance/blob/55a77de5f4fdd714e18e4e7736bbbbde6a7f593a/README.md","GitHub README","Glaze","2024-07-17","2025-08-24","Full JSON parse (in-memory struct)"
"EVID-20250824-ParseSpeed-Glaze-005","Performance — Parse Speed","Glaze","Glaze JSON parse speed peaked at ~1224 MB/s on single core","Throughput","1224","MB/s","Custom JSON (670 B)","Apple M1 (macOS); Clang 15; 1,000,000 iterations, 1 thread; Glaze main (Aug 9, 2024); JSON 670 B","https://github.com/stephenberry/json_performance/blob/9f67fde8f993a0f6bafa15c5d043c3e92dc50f10/README.md","GitHub README","Glaze","2024-08-09","2025-08-24","Full JSON parse (in-memory struct)"
"EVID-20250824-ParseSpeed-Glaze-006","Performance — Parse Speed","Glaze","Glaze sustains ~1200 MB/s JSON parse throughput on Apple M1","Throughput","1200","MB/s","Custom JSON (670 B)","Apple M1 (macOS); Clang 17; 1,000,000 iterations, 1 thread; Glaze main (June 8, 2025); JSON 670 B","https://github.com/stephenberry/json_performance/blob/a1b6bd7c0d1fe50e212635861cf9b47c69f2ab50/README.md","GitHub README","Glaze","2025-06-08","2025-08-24","Full JSON parse (in-memory struct)"
"EVID-20250824-ParseSpeed-Glaze-007","Performance — Parse Speed","Glaze","Glaze parses out-of-order JSON keys at ~1219 MB/s","Throughput","1219","MB/s","26-key reverse-order JSON (~100 KB)","Apple M1 (macOS); Clang 17; 1,000,000 iterations, 1 thread; Glaze main (June 8, 2025); JSON ~100 KB","https://github.com/stephenberry/json_performance/blob/a1b6bd7c0d1fe50e212635861cf9b47c69f2ab50/README.md","GitHub README","Glaze","2025-06-08","2025-08-24","Full JSON parse (out-of-order keys test)"