[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#70007: [PATCH] native JSON encoder
From: |
Mattias Engdegård |
Subject: |
bug#70007: [PATCH] native JSON encoder |
Date: |
Tue, 26 Mar 2024 16:33:52 +0100 |
If we replace the lisp-to-JSON encoder with native code, we would not need the
jansson library for it and it would be faster.
There is ongoing work on a JSON-to-lisp parser, but the author has made it
clear that he does not have time to write an encoder, so I spent a morning
mashing up the attached patch.
It generally produces the same result as the old code, except:
- The old code incorrectly accepted strings with non-Unicode characters (raw
bytes). There is no reason to do this; JSON is UTF-8 only.
- The old code spent a lot of time ensuring that object keys were unique. The
new code doesn't: it's a garbage-in garbage-out type of situation.
The new code could do with some optimisation but it's already about twice as
fast as the old code, sometimes more.
I'd be very happy if someone could test it with packages that use this
interface (json-serialise, json-insert).
json-serialise.diff
Description: Binary data
- bug#70007: [PATCH] native JSON encoder,
Mattias Engdegård <=
- bug#70007: [PATCH] native JSON encoder, Eli Zaretskii, 2024/03/26
- bug#70007: [PATCH] native JSON encoder, Mattias Engdegård, 2024/03/27
- bug#70007: [PATCH] native JSON encoder, Mattias Engdegård, 2024/03/27
- bug#70007: [PATCH] native JSON encoder, Eli Zaretskii, 2024/03/27
- bug#70007: [PATCH] native JSON encoder, Mattias Engdegård, 2024/03/27
- bug#70007: [PATCH] native JSON encoder, Eli Zaretskii, 2024/03/27
- bug#70007: [PATCH] native JSON encoder, Mattias Engdegård, 2024/03/28
- bug#70007: [PATCH] native JSON encoder, Eli Zaretskii, 2024/03/29
- bug#70007: [PATCH] native JSON encoder, Mattias Engdegård, 2024/03/30
- bug#70007: [PATCH] native JSON encoder, Eli Zaretskii, 2024/03/30