mre/hyperjson

Speed up boolean encoding/decoding

开放

#68 创建于 2019年9月21日

 (1 条评论) (0 个反应) (0 位负责人)Python (41 个派生)github user discovery
enhancementgood first issuehacktoberfesthelp wanted

仓库指标

星标
 (511 个星标)
PR 合并指标
 (30 天内没有已合并 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?

贡献者指南