SerializerPerf

NAME

serializer-perf - Performance tests for Raku data serializer codecs

SYNOPSIS


serializer-perf [--runs=UInt] [--count=UInt] [--source=Path]

 --runs=<UInt>    Runs per test (for stable results)
 --count=<UInt>   Encodes/decodes per run (for sufficient duration)
 --source=<Path>  Test file containing JSON data

DESCRIPTION

serializer-perf is a test suite of performance and correctness (fidelity) tests for Raku data serializer codecs. It is currently able to test the following codecs:

Codec Format Size Speed Fidelity Human-Friendly
BSON::Document BSON Mixed Poor Poor Poor
BSON::Simple BSON Mixed Fair Fair Poor
CBOR::Simple CBOR BEST BEST Good Poor
JSON::Fast JSON Fair Good Fair Good
JSON::Hjson JSON * Poor Fair Good*
Data::MessagePack MessagePack Good Mixed Fair Poor
MessagePack MessagePack * Mixed Poor Poor*
TOML::Thumb TOML Poor Mixed Poor Good
TOML(tony-o) TOML Poor Poor Poor Good
Config::TOML TOML Poor Poor Poor Good
YAMLish YAML Poor Poor Fair BEST
.raku/EVAL Raku Poor Poor BEST Fair

(Note: JSON::Hjson is a decoder only, and has no native encode ability. Thus performance and fidelity was tested against inputs in the JSON subset of Hjson, though of course the point of Hjson is to allow more human-friendly variation in data formatting -- similar to YAML in that respect. Similarly, MessagePack is a decoder only as well, with no native encode ability; it was tested with data packed by Data::MessagePack.)

Because some of the tests are very slow, the default values for --runs and --count are 1 and 10 respectively. If only testing the faster codecs (those with Speed of Fair or better in the table above), these will be too low; 5 and 100 are more appropriate values in that case.

AUTHOR

Geoffrey Broadwell <[email protected]>

COPYRIGHT AND LICENSE

Copyright 2021-2022 Geoffrey Broadwell

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

App::SerializerPerf v0.0.3

Performance tests for Raku data serializer codecs

Authors

  • Geoffrey Broadwell

License

Artistic-2.0

Dependencies

BSON::DocumentBSON::SimpleCBOR::SimpleConfig::TOMLData::MessagePackJSON::FastJSON::HjsonMessagePackTOML:auth<zef:tony-o>TOML::ThumbYAMLish

Test Dependencies

Provides

  • App::SerializerPerf

Documentation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.