mre/hyperjson

Zero-copy string deserialization

Open

#67 opened on Sep 21, 2019

 (1 comment) (0 reactions) (0 assignees)Python (41 forks)github user discovery
enhancementgood first issuehacktoberfesthelp wanted

Repository metrics

Stars
 (511 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Over on Reddit, @mikeyhew mentioned that there might be an option to parse JSON strings without copying:

Just wanted to point out that serde-json isn't zero-copy because it will copy strings to turn escape sequences like "\n" and "" into the character they represent. To parse JSON without copying, you could make a custom string type, JsonStr, which is utf-8 like str but can contain escape sequences.

I forgot about that, but it's actually a great idea! Here's the upstream discussion on serde-json. We should give this custom string type some serious consideration, as string allocation takes a big part of the encoding/decoding process at the moment.

If anyone wants to give it a shot, go for it.

Contributor guide