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

156 commits

Author SHA1 Message Date
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
chenzhuoyu
b2fbad7b4c feat: rewrite generic decoder in Go, using Finite State Machine 2021-06-16 23:05:21 +08:00
chenzhuoyu
34fa8d64a8 feat: CPU feature detection support 2021-06-10 17:14:25 +08:00
Yi Duan
accee2e689
feat: support UseNumber for ast (#14)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-09 15:58:27 +08:00
AsterDY
4447cc41a7
Feature/readme (#12)
chore: update readme

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-08 11:39:02 +08:00
chenzhuoyu
e44e686d90 fix: clears rest of the array if the JSON is not long enough. This fixes #7. 2021-06-06 16:25:34 +08:00
chenzhuoyu
be63774e05 chore: move issue-related tests into separate files 2021-06-04 18:26:50 +08:00
chenzhuoyu
565aeffad4 fix: adjust inline limits to finish compile in a reasonable time 2021-06-04 18:17:54 +08:00
chenzhuoyu
66d6c789d4 chore: minor fixes 2021-06-02 20:12:04 +08:00