haskell / haskell/aeson

Consider reimplementing `Encoding` using the "jsonifier" lib

Open
#812 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
1.3k
Forks
336
Avg merge
3d 7h
Merged PRs (30d)
4

Description

According to [the benchmarks of "jsonifier"](https://github.com/nikita-volkov/jsonifier#benchmarks), it provides a performance boost in encoding of up to 3x over the current implementation of "aeson".

It [has been suggested](https://www.reddit.com/r/haskell/comments/jeni1l/new_json_encoder_that_is_up_to_3x_faster_than/g9hj7vk?utm_source=share&utm_medium=web2x&context=3) by @bergmark to consider updating "aeson" to reuse "jsonifier" for its encoding functionality.

"jsonifier" uses a lot of C under the hood, so this is one thing you'll have to take notice of for users coming from GHCJS. As an idea regarding that, the "jsonifier" dependency could be made optional being controlled by a Cabal flag.

In case you guys find yourselves interested, I'm open to provide the necessary support on the "jsonifier" end. E.g., by providing encoders for extra types like those from the "time" lib and things like that.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.