2
0
Fork 0
mirror of https://github.com/ii64/sonic.git synced 2026-06-21 00:46:43 +08:00
Commit graph

64 commits

Author SHA1 Message Date
Yi Duan
3eade82a01
fix: add gcGuard to prevent GC during Marshal()/Unmarshal() (#122)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-10-28 17:02:37 +08:00
liuqiang
fe56a21bf5 fix: make it return error when unmarshal invalid base64-encoded strings 2021-10-21 18:20:04 +08:00
liu
0a710eeb9d
fix: make it sorted when marshalling integer key map (#117) 2021-10-18 19:31:33 +08:00
liu
3eca433cb9
fix: marshal struct field with omitempty tag as encoding/json (#114) 2021-10-12 15:14:39 +08:00
liu
530d423243
fix: make it parse the UTF-16 surrogate pair after invalid unicode (#111) 2021-09-24 16:33:02 +08:00
liu
a7ace8cd03
fix: skip exponent number that begin with zero in skip_number() (#109) 2021-09-23 15:02:09 +08:00
Yi Duan
a577eafc25
refactor: make it more readable (#104)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-09-18 11:31:25 +08:00
chenzhuoyu
0e4b0b8ee1 fix: check character range before BTQ 2021-09-17 19:48:47 +08:00
Yi Duan
c1749cfd1f
fix(#100): check type-size of map element to decide whether use mapassign_fastxx (#102)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-09-16 20:13:29 +08:00
chenzhuoyu
8ccd57d4e0 fix: defer single-element maps checking 2021-09-14 18:41:45 +08:00
liuqiang
9ba912d20a fix: make it return error when unmarshal infinity float number 2021-09-14 18:17:45 +08:00
liuqiang
ec15697761 fix: support IEEE-754 negative zero in both marshal and unmarshal 2021-09-14 15:06:47 +08:00
chenzhuoyu
514208a4d5 fix: potential ProgramCache OOM under high-load 2021-09-09 14:35:01 +08:00
Oxygen
6aff4b1ad6
fix: handling of surrogate-half characters within double-quoted strings (#89) 2021-09-07 14:14:06 +08:00
Yi Duan
12e088f9e9
opt(ast): append string instead of []byte (#88)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
Co-authored-by: Oxygen <chenzhuoyu@users.noreply.github.com>
2021-09-06 16:58:03 +08:00
chenzhuoyu
d2e150948a fix: unmarshalers are always addressable 2021-09-06 16:53:51 +08:00
liu
365da9c1a8
fix: check prefix in native float parsing (#86) 2021-09-06 16:01:42 +08:00
Yi Duan
fa5f5026d9
opt(ast): speed up api (#85)
- inline findkey()
- use std append() instead of runtime.memmove()

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-09-03 20:05:52 +08:00
Yi Duan
1f13d31b5a
chore!: return error for scanning API (#81)
* chore!: return error for cast API

BREAKING CHANGE:
- Set()/Unset()/SetByIndex()/UnsetByIndex/Add() 
- Raw()/Bool()/Int64()/Float64()/Number()/Len()/Cap()
- Values()/Properties()/Map()/Array()/Interface()

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-08-30 17:14:38 +08:00
Yi Duan
6aec2f3722
feat(ast): Node supports MarshalJson() (#84)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-08-27 18:28:56 +08:00
Yi Duan
8c119dd72d
feat(ast): support Node.Unset() and optimize Node.Get() (#80)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-08-24 13:23:55 +08:00
chenzhuoyu
ae862b18dc chore: update base64x 2021-08-23 17:13:48 +08:00
chenzhuoyu
f188a1b7ee chore: update base64x 2021-08-23 16:27:22 +08:00
chenzhuoyu
712d6195df fix: support AVX2 auto-detection for base64x 2021-08-23 14:33:48 +08:00
chenzhuoyu
ade38b26c4 fix: check flags for indirection 2021-08-18 13:36:28 +08:00
chenzhuoyu
b20904f574 fix: check EOF after unmarshal 2021-08-16 19:14:01 +08:00
chenzhuoyu
8383178c89 feat: supports map key-sorting via encoder options 2021-08-16 18:31:41 +08:00
Yi Duan
dd73e36cf4
doc: update readme on Pretouch (#70) 2021-08-11 17:35:23 +08:00
liuqiang
ebac0a347a fix: parse min int64 number to float when UseInt64() 2021-07-29 21:27:05 +08:00
liu
83208b7ac4
feat: optimize float-to-str encoding through the Ryu algorithm (#60)
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
Co-authored-by: Oxygen <chenzhuoyu@users.noreply.github.com>
2021-07-29 17:03:38 +08:00
chenzhuoyu
c2ea100389 fix: fix nil pointer on value receiver (#58) 2021-07-28 17:12:36 +08:00
liuqiang
e88411dafe fix: parsing to float64 when the integer(int64) overflow 2021-07-23 18:29:31 +08:00
liuqiang
f9632ab873 fix: enhance float parsing as Go encoding/json 2021-07-23 16:39:32 +08:00
duanyi.aster
6b4022a19f fix: parser.ExportError() exceeds slice boundary 2021-07-20 16:47:59 +08:00
liu
a5efd7e8b7
fix: support high precision for float parsing (#54)
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
2021-07-18 11:37:59 +08:00
duanyi.aster
f519f80384 fix: truely copy _ProgramMap when RCU write 2021-07-14 01:31:58 +08:00
duanyi.aster
12dd7fb4a6 doc: print syntax error 2021-07-08 19:12:23 +08:00
chenzhuoyu
4937f48f3c fix: support dynamic interface indirection 2021-07-06 21:51:27 +08:00
duanyi.aster
91e58904fe doc update benchmarks on README.md 2021-07-03 00:29:52 +08:00
chenzhuoyu
bcca8c2052 fix: fix addressing past valid memory for empty string 2021-07-02 18:25:50 +08:00
chenzhuoyu
5cb6f17944 feat: performance optimizations 2021-07-02 14:38:12 +08:00
Yi Duan
8fe152d152
doc: update README.md (#31)
Co-authored-by: Oxygen <chenzhuoyu@users.noreply.github.com>
2021-06-28 12:25:11 +08:00
Masaaki Goshima
4e02b5b2fe
Update benchmark (#34)
* chore: update version of goccy/go-json to v0.7.2

* chore: use unordered map option at encoding for go-json's benchmark
2021-06-26 10:43:10 +08:00
Yi Duan
e9b6634cac
feat: ast supports Node.Exists()/MapUseNode()/ArrayUseNode() (#19)
* feat: ast supports Node.Exists()/MapUseNode()/ArrayUseNode()

* jump table for swithcRawType

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-24 16:37:32 +08:00
chenzhuoyu
955ab75cf5 fix: return error on stack overflow instead of panicking 2021-06-24 12:52:31 +08:00
Oxygen
59be0c7b33
fix: use cap to check slice emptiness. Fixes #27. (#28) 2021-06-23 18:47:21 +08:00
chenzhuoyu
53efb129d8 feat: reduce allocs for mapiterinit 2021-06-23 16:37:33 +08:00
chenzhuoyu
944f2b58cc chore: sort imports 2021-06-22 16:47:57 +08:00
Yi Duan
936cee0d3f
test: benchmark with github.com/goccy/go-json (#23)
chore: add benchmark result with go-json

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-22 16:30:04 +08:00
chenzhuoyu
85a0d4219f feat: rewrite the generic decoder in assembly 2021-06-21 11:34:18 +08:00