Thread overview
Mir Ion and Asdf benchmakrs
May 16, 2021
9il
May 16, 2021
Tobias Pankrath
May 16, 2021
9il
May 16, 2021

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, 2021
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, 2021
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.