www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Mir Ion and Asdf benchmakrs

reply 9il <ilyayaroshenko gmail.com> writes:
mir-ion and Asdf JSON libraries have been added to the 
Kostya/benchmarks.

https://github.com/kostya/benchmarks#json

If we exclude parsers with inaccurate number parsing then the top 
will be

1. C++, simdjson
2. Rust, Serde
3. Dlang, Mir Amazon's Ion DOM
4. Dlang, Mir Asdf DOM
5. C++ RapidJSON (Precise)

Mir Ion has been inspired by simdjson and Amazon's Ion binary 
format, which is used as DOM. Thus the mir-ion DOM for the 112 
MiB file costs 16 MiB comparing with 176 MiB DOM in simdjson.

Kind regards,
Ilya
May 16
parent reply Tobias Pankrath <tobias+dlang pankrath.net> writes:
On Sunday, 16 May 2021 at 09:50:21 UTC, 9il wrote:
 mir-ion and Asdf JSON libraries have been added to the 
 Kostya/benchmarks.

 https://github.com/kostya/benchmarks#json

 If we exclude parsers with inaccurate number parsing then the 
 top will be

 1. C++, simdjson
 2. Rust, Serde
 3. Dlang, Mir Amazon's Ion DOM
 4. Dlang, Mir Asdf DOM
 5. C++ RapidJSON (Precise)

 Mir Ion has been inspired by simdjson and Amazon's Ion binary 
 format, which is used as DOM. Thus the mir-ion DOM for the 112 
 MiB file costs 16 MiB comparing with 176 MiB DOM in simdjson.

 Kind regards,
 Ilya
Great work! What makes simdjson faster?
May 16
parent 9il <ilyayaroshenko gmail.com> writes:
On Sunday, 16 May 2021 at 10:28:24 UTC, Tobias Pankrath wrote:
 On Sunday, 16 May 2021 at 09:50:21 UTC, 9il wrote:
 mir-ion and Asdf JSON libraries have been added to the 
 Kostya/benchmarks.

 https://github.com/kostya/benchmarks#json

 If we exclude parsers with inaccurate number parsing then the 
 top will be

 1. C++, simdjson
 2. Rust, Serde
 3. Dlang, Mir Amazon's Ion DOM
 4. Dlang, Mir Asdf DOM
 5. C++ RapidJSON (Precise)

 Mir Ion has been inspired by simdjson and Amazon's Ion binary 
 format, which is used as DOM. Thus the mir-ion DOM for the 112 
 MiB file costs 16 MiB comparing with 176 MiB DOM in simdjson.

 Kind regards,
 Ilya
Great work! What makes simdjson faster?
simdjson works with padded single memory chunk and use simple (but large) DOM format. Mir uses buffered input by chunks of 4KB and compresses data to the Ion format on the fly. Ion requires significantly less space but it is more CPU time expensive.
May 16