mre/hyperjson

Speed up boolean encoding/decoding

オープン

#68 opened on 2019/09/21

 (1 件のコメント) (0 件のリアクション) (0 人の担当者)Python (41 件のフォーク)github user discovery
enhancementgood first issuehacktoberfesthelp wanted

Repository metrics

Stars
 (511 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

From our benchmarks we can see that we are consistently slower than everyone else when serializing/deserializing boolean values. We should fix that.

orjson is using an unsafe block to create a reference to a boolean: https://github.com/ijl/orjson/blob/03d55e99a953ce93cedc05f03e4b63b0bcbbcc7a/src/decode.rs#L81-L96

This avoids additional allocations. For comparison, this is our code at the moment:

https://github.com/mre/hyperjson/blob/ded13b4100638aa32fe19dc477f5cfe3e704893c/src/lib.rs#L475-L480

I wonder if we could achieve comparable performance without using unsafe. @konstin, any idea? Maybe there was a recent development in pyo3 that we could leverage here?

コントリビューターガイド