saleyn
Glazer - the Swiss Army knife of JSON / YAML / CSV parsing
glazer started as a blazing-fast NIF JSON codec (single-pass, straight to/from native terms - no AST). In 0.3.0, the same engine now parses and encodes YAML and CSV too.
The numbers:
-
JSON: faster encoding than everything I tried -
jason,thoas,euneus,torque,jiffy,simdjsone, OTPjson- and neck-and-neck withtorque(Rustsonic-rs) on decoding -
YAML: 10x faster than
yaml_rustler/fast_yaml, up to 100x faster thanyamerl/ymlr -
CSV: 2-20x faster than
nimble_csv, andcsv/erl_csvdon’t even finish on large files (timeout) while glazer is done
Plus: streaming decode for JSON/CSV, bignums support, configurable null, zero external C++ deps.
def deps do
[
{:glazer, "~> 0.3"}
]
end
Charts and full benchmarks: https://github.com/saleyn/glazer#performance
Hex: https://hex.pm/packages/glazer
Break it, measure it, tell me what’s slow.
Best,
Serge
Most Liked
saleyn
I made many improvements and added options in the last release. Boosted decoding performance by another 20%. Check it out.
sntran
You may want to benchmark your CSV parser against GitHub - jeffhuen/RustyCSV: High-performance CSV parsing for Elixir. Rust NIF with SIMD acceleration, parallel parsing, and bounded-memory streaming. Drop-in NimbleCSV replacement. · GitHub . It was pretty fast for me.
saleyn
For those interested how Erlang/Elixir glazer library performance stacks up against leading Golang JSON parsers, I put together this benchmark: GitHub - saleyn/glazer: Fast JSON/YAML/CSV encoder/decoder for Erlang and Elixir · GitHub. Pretty neat!
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









