saleyn
Glazejson - fast JSON encoder/decoder for Erlang or Elixir
I released a new JSON encoding/decoding library that uses NIF C++ backend and consistently outperforms most of other implementations.
Fast Erlang NIF JSON encoder/decoder backed by the glaze C++ library, with a hand-rolled recursive-descent decoder and direct term-to-JSON encoder that produce/consume native Erlang terms in a single pass.
Features
- Decoding straight to Erlang terms: maps, lists, binaries, integers (including bignums), floats, booleans, and
null- Encoding Erlang terms straight to JSON, including big integers
- Configurable representation of JSON
nulland JSON object keysminify/1andprettify/1helpers- Standalone big-integer encode/decode helpers (
encode_bigint/1,decode_bigint/1)
(numbers in µs)
JSON files: twitter (616.7K) twitter2 (758.0K) openrtb (1.2K) esad (1.3K) small (0.1K)
decode encode decode encode decode encode decode encode decode encode
---------------------------------------------------------------------------------------------------------------------
glazejson 10097.9 3947.9 14904.2 8186.0 17.4 12.5 14.8 8.7 1.3 1.5
torque 10151.7 4358.7 12899.5 6798.9 18.3 13.2 19.9 7.1 4.5 1.7
simdjsone 10345.9 7541.2 18973.3 13482.5 25.6 27.5 19.5 18.5 1.7 4.5
jiffy 30645.2 4347.6 51053.1 9500.1 50.0 28.6 32.2 19.0 7.4 4.2
jason 21005.7 12918.1 40277.2 25064.8 56.4 26.2 33.7 22.1 6.0 3.7
thoas 21151.4 13779.6 41390.0 25625.0 57.4 29.9 35.0 26.7 7.5 3.8
euneus 20488.9 12319.9 31853.9 25111.0 40.7 32.7 25.2 19.0 7.3 3.3
json 19887.1 11679.8 30902.8 24087.7 41.5 26.9 40.1 10.6 4.8 4.1
Most Liked
AlexGx
Hi, nice work! Please check possible heap buffer overflow in decode_bigint (limbs_to_term func) with ASAN enabled. I got ERROR: AddressSanitizer: heap-buffer-overflow
WRITE of size 1 for input 18446744073709551616 (2^64)
1
saleyn
Popular in Announcing
Hey everyone
i’ve developed a library for Jalaali calendar for elixir which supports converting Gregorian dates to Jalaali and vice vers...
New
Hi everyone,
I’m coming from the Symfony (PHP) framework. I like Phoenix, but it has a one thing that was build much better in the Symfo...
New
Hi everyone,
We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
Hello!
tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability.
After spen...
New
Hey folks!
Want to present a toolkit for writing command-line user interfaces.
It provides a convenient interface for
colorizing text...
New
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir.
I...
New
The repo is at GitHub - cyberchitta/openai_ex: Community maintained Elixir library for OpenAI API · GitHub.
Docs are at OpenaiEx User Gu...
New
Other popular topics
Hi,
I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
New
Credo is smart enough to check for (something like) this:
assert length(the_list) == 0
with this response:
Checking if an enum is empt...
New
i’m a new one to elixir
which editor can i use
vs code? or atom?
Thanks! :smiley:
New
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
New
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
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









