Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support aarch64 #645

Merged
merged 5 commits into from
Jul 8, 2024
Merged

feat: support aarch64 #645

merged 5 commits into from
Jul 8, 2024

Conversation

liuq19
Copy link
Collaborator

@liuq19 liuq19 commented Jun 3, 2024

Rewrite the decoder and encoder to support aarch64. Not fallback into encoding/json in aarch64.

Performance

compare with jit decoder/encoder:
Unmarshal/Interface: about 1.7x
Unmarshal/Concrete: 1.0x
Marshal/Interface: 0.7x
Marshal/Concrete: 0.6x

For more details pls see the data in follow comments.

Compatibility

there are no break changes here.

@liuq19 liuq19 force-pushed the dev/arm64 branch 6 times, most recently from b4bbb87 to d502e85 Compare June 3, 2024 07:02
@codecov-commenter
Copy link

codecov-commenter commented Jun 3, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 20.52072% with 2839 lines in your changes missing coverage. Please review.

Project coverage is 52.45%. Comparing base (99f5b35) to head (c71218e).
Report is 17 commits behind head on main.

Files Patch % Lines
internal/decoder/optdec/node.go 0.00% 837 Missing ⚠️
internal/decoder/optdec/compiler.go 0.00% 272 Missing ⚠️
internal/decoder/optdec/map.go 0.00% 239 Missing ⚠️
internal/encoder/vm/vm.go 29.00% 181 Missing and 5 partials ⚠️
internal/encoder/compiler.go 60.51% 168 Missing and 16 partials ⚠️
internal/decoder/optdec/stringopts.go 0.00% 177 Missing ⚠️
internal/decoder/optdec/functor.go 0.00% 129 Missing ⚠️
internal/decoder/optdec/slice.go 0.00% 105 Missing ⚠️
internal/encoder/alg/spec.go 0.00% 101 Missing ⚠️
internal/decoder/optdec/compile_struct.go 0.00% 96 Missing ⚠️
... and 21 more

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #645       +/-   ##
===========================================
- Coverage   77.56%   52.45%   -25.11%     
===========================================
  Files          83      175       +92     
  Lines       11542    11374      -168     
===========================================
- Hits         8952     5966     -2986     
- Misses       2192     5085     +2893     
+ Partials      398      323       -75     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@liuq19 liuq19 force-pushed the dev/arm64 branch 11 times, most recently from 558fe5b to d980618 Compare June 3, 2024 10:57
@liuq19 liuq19 marked this pull request as draft June 4, 2024 03:15
@liuq19
Copy link
Collaborator Author

liuq19 commented Jun 28, 2024

Benchmark Data for Decoder:

./scripts/bench2.py -c " SONIC_USE_OPTDEC=1 SONIC_USE_FASTMAP=1 SONIC_NO_ASYNC_GC=1 go test -benchmem -run=none -bench=BenchmarkUnmarshalInterface/.*_Sonic$ -count=5 ./generic_test"

benchstat /tmp/tmp66cqvh2s.main.txt /tmp/tmp2qy25w08.target.txt
goos: linux
goarch: amd64
pkg: github.com/bytedance/sonic/generic_test
cpu: Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz
                                          │ /tmp/tmp66cqvh2s.main.txt │      /tmp/tmp2qy25w08.target.txt      │
                                          │          sec/op           │    sec/op     vs base                 │
UnmarshalInterface/CanadaGeometry_Sonic-8                3.314m ± ∞ ¹   1.339m ± ∞ ¹  -59.59% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-8                   9.342m ± ∞ ¹   5.433m ± ∞ ¹  -41.84% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-8                  18.14m ± ∞ ¹
UnmarshalInterface/StringEscaped_Sonic-8                105.95µ ± ∞ ¹   86.87µ ± ∞ ¹  -18.01% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-8                 25.55µ ± ∞ ¹   16.59µ ± ∞ ¹  -35.05% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-8                   12.02m ± ∞ ¹
UnmarshalInterface/TwitterStatus_Sonic-8                 3.688m ± ∞ ¹   2.069m ± ∞ ¹  -43.90% (p=0.008 n=5)
geomean                                                  1.825m         464.8µ        -41.21%               ²
¹ need >= 6 samples for confidence interval at level 0.95
² benchmark set differs from baseline; geomeans may not be comparable

                                          │ /tmp/tmp66cqvh2s.main.txt │       /tmp/tmp2qy25w08.target.txt        │
                                          │            B/s            │      B/s        vs base                  │
UnmarshalInterface/CanadaGeometry_Sonic-8               77.83Mi ± ∞ ¹   192.60Mi ± ∞ ¹  +147.47% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-8                  176.3Mi ± ∞ ¹    303.2Mi ± ∞ ¹   +71.96% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-8                 102.0Mi ± ∞ ¹
UnmarshalInterface/StringEscaped_Sonic-8                378.6Mi ± ∞ ¹    461.8Mi ± ∞ ¹   +21.96% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-8                676.6Mi ± ∞ ¹   1041.7Mi ± ∞ ¹   +53.97% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-8                  159.3Mi ± ∞ ¹
UnmarshalInterface/TwitterStatus_Sonic-8                163.3Mi ± ∞ ¹    291.1Mi ± ∞ ¹   +78.24% (p=0.008 n=5)
geomean                                                 191.2Mi          382.4Mi         +70.11%               ²
¹ need >= 6 samples for confidence interval at level 0.95
² benchmark set differs from baseline; geomeans may not be comparable

                                          │ /tmp/tmp66cqvh2s.main.txt │      /tmp/tmp2qy25w08.target.txt       │
                                          │           B/op            │     B/op       vs base                 │
UnmarshalInterface/CanadaGeometry_Sonic-8              2729.4Ki ± ∞ ¹   916.3Ki ± ∞ ¹  -66.43% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-8                  8.247Mi ± ∞ ¹   5.897Mi ± ∞ ¹  -28.50% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-8                 10.49Mi ± ∞ ¹
UnmarshalInterface/StringEscaped_Sonic-8               102.05Ki ± ∞ ¹   77.26Ki ± ∞ ¹  -24.29% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-8                29.19Ki ± ∞ ¹   28.44Ki ± ∞ ¹   -2.58% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-8                  9.055Mi ± ∞ ¹
UnmarshalInterface/TwitterStatus_Sonic-8                2.486Mi ± ∞ ¹   1.694Mi ± ∞ ¹  -31.86% (p=0.008 n=5)
geomean                                                 1.469Mi         462.2Ki        -34.49%               ²
¹ need >= 6 samples for confidence interval at level 0.95
² benchmark set differs from baseline; geomeans may not be comparable

                                          │ /tmp/tmp66cqvh2s.main.txt │     /tmp/tmp2qy25w08.target.txt      │
                                          │         allocs/op         │  allocs/op   vs base                 │
UnmarshalInterface/CanadaGeometry_Sonic-8              29678.00 ± ∞ ¹   12.00 ± ∞ ¹  -99.96% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-8                  58178.0 ± ∞ ¹   294.0 ± ∞ ¹  -99.49% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-8                  128.3k ± ∞ ¹
UnmarshalInterface/StringEscaped_Sonic-8                  132.0 ± ∞ ¹   131.0 ± ∞ ¹   -0.76% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-8                  72.00 ± ∞ ¹   13.00 ± ∞ ¹  -81.94% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-8                   67.62k ± ∞ ¹
UnmarshalInterface/TwitterStatus_Sonic-8                12137.0 ± ∞ ¹   804.0 ± ∞ ¹  -93.38% (p=0.008 n=5)
geomean                                                  7.782k         86.46        -97.00%               ²

./scripts/bench2.py -c " SONIC_USE_OPTDEC=1 SONIC_USE_FASTMAP=1 SONIC_NO_ASYNC_GC=1 go test -run=none -benchmem -bench=BenchmarkUnmarshalConcrete/.*_Sonic$ -count=5 ./generic_test"

benchstat /tmp/tmpbi8j8xgu.main.txt /tmp/tmpro_lyjq6.target.txt
goos: linux
goarch: amd64
pkg: github.com/bytedance/sonic/generic_test
cpu: Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz
                                         │ /tmp/tmpbi8j8xgu.main.txt │     /tmp/tmpro_lyjq6.target.txt      │
                                         │          sec/op           │    sec/op      vs base               │
UnmarshalConcrete/CanadaGeometry_Sonic-8                1.079m ± ∞ ¹    1.088m ± ∞ ¹        ~ (p=0.548 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-8                   3.622m ± ∞ ¹    4.146m ± ∞ ¹  +14.47% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-8                  8.401m ± ∞ ¹    9.448m ± ∞ ¹  +12.46% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-8                 90.10µ ± ∞ ¹    76.48µ ± ∞ ¹  -15.11% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-8                 9.971µ ± ∞ ¹   10.865µ ± ∞ ¹   +8.97% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-8                   7.598m ± ∞ ¹    9.473m ± ∞ ¹  +24.68% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-8                 1.563m ± ∞ ¹    1.368m ± ∞ ¹  -12.47% (p=0.008 n=5)
geomean                                                 860.8µ          894.7µ         +3.94%
¹ need >= 6 samples for confidence interval at level 0.95

                                         │ /tmp/tmpbi8j8xgu.main.txt │     /tmp/tmpro_lyjq6.target.txt      │
                                         │            B/s            │      B/s       vs base               │
UnmarshalConcrete/CanadaGeometry_Sonic-8               239.1Mi ± ∞ ¹   236.9Mi ± ∞ ¹        ~ (p=0.548 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-8                  454.8Mi ± ∞ ¹   397.3Mi ± ∞ ¹  -12.64% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-8                 220.3Mi ± ∞ ¹   195.9Mi ± ∞ ¹  -11.08% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-8                445.2Mi ± ∞ ¹   524.5Mi ± ∞ ¹  +17.80% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-8                1.693Gi ± ∞ ¹   1.554Gi ± ∞ ¹   -8.23% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-8                  252.1Mi ± ∞ ¹   202.2Mi ± ∞ ¹  -19.79% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-8                385.4Mi ± ∞ ¹   440.3Mi ± ∞ ¹  +14.24% (p=0.008 n=5)
geomean                                                405.3Mi         389.9Mi         -3.80%
¹ need >= 6 samples for confidence interval at level 0.95

                                         │ /tmp/tmpbi8j8xgu.main.txt │      /tmp/tmpro_lyjq6.target.txt       │
                                         │           B/op            │      B/op       vs base                │
UnmarshalConcrete/CanadaGeometry_Sonic-8               605.7Ki ± ∞ ¹    417.4Ki ± ∞ ¹   -31.08% (p=0.008 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-8                  2.564Mi ± ∞ ¹    2.521Mi ± ∞ ¹    -1.66% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-8                 4.652Mi ± ∞ ¹   18.113Mi ± ∞ ¹  +289.35% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-8                92.35Ki ± ∞ ¹    68.18Ki ± ∞ ¹   -26.18% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-8                19.50Ki ± ∞ ¹    20.32Ki ± ∞ ¹    +4.18% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-8                  4.921Mi ± ∞ ¹   20.088Mi ± ∞ ¹  +308.18% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-8               1038.5Ki ± ∞ ¹    900.0Ki ± ∞ ¹   -13.34% (p=0.008 n=5)
geomean                                                685.9Ki          908.9Ki         +32.52%
¹ need >= 6 samples for confidence interval at level 0.95

                                         │ /tmp/tmpbi8j8xgu.main.txt │      /tmp/tmpro_lyjq6.target.txt      │
                                         │         allocs/op         │   allocs/op    vs base                │
UnmarshalConcrete/CanadaGeometry_Sonic-8                1147.0 ± ∞ ¹     968.0 ± ∞ ¹   -15.61% (p=0.008 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-8                   5.355k ± ∞ ¹   12.708k ± ∞ ¹  +137.31% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-8                  1.754k ± ∞ ¹   13.512k ± ∞ ¹  +670.35% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-8                 123.00 ± ∞ ¹     64.00 ± ∞ ¹   -47.97% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-8                  5.000 ± ∞ ¹     6.000 ± ∞ ¹   +20.00% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-8                   7.085k ± ∞ ¹   13.681k ± ∞ ¹   +93.10% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-8                  814.0 ± ∞ ¹    1848.0 ± ∞ ¹  +127.03% (p=0.008 n=5)
geomean                                                  627.3          1.071k         +70.70%                                             6

@liuq19 liuq19 force-pushed the dev/arm64 branch 3 times, most recently from 3abf63b to 84e3754 Compare July 1, 2024 10:59
@liuq19
Copy link
Collaborator Author

liuq19 commented Jul 1, 2024

./scripts/bench2.py -c " SONIC_USE_ENCODE_VM=1 SONIC_NO_ASYNC_GC=1 go test -run=none -benchmem -bench=BenchmarkMarshalInterface/.*_Sonic$ -count=5 ./generic_test"

cpu: Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz
                                        │ /tmp/tmp75m682su.main.txt │     /tmp/tmpdvjvf9hh.target.txt      │
                                        │          sec/op           │    sec/op      vs base               │
MarshalInterface/CanadaGeometry_Sonic-8                1.259m ± ∞ ¹    1.814m ± ∞ ¹  +44.09% (p=0.008 n=5)
MarshalInterface/CitmCatalog_Sonic-8                   3.362m ± ∞ ¹    5.383m ± ∞ ¹  +60.10% (p=0.008 n=5)
MarshalInterface/GolangSource_Sonic-8                  9.720m ± ∞ ¹   14.808m ± ∞ ¹  +52.34% (p=0.008 n=5)
MarshalInterface/StringEscaped_Sonic-8                 10.95µ ± ∞ ¹    16.19µ ± ∞ ¹  +47.92% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-8                 11.04µ ± ∞ ¹    16.51µ ± ∞ ¹  +49.54% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-8                   6.981m ± ∞ ¹    9.530m ± ∞ ¹  +36.51% (p=0.008 n=5)
MarshalInterface/TwitterStatus_Sonic-8                 1.568m ± ∞ ¹    2.281m ± ∞ ¹  +45.42% (p=0.008 n=5)
geomean                                                659.8µ          975.5µ        +47.83%
¹ need >= 6 samples for confidence interval at level 0.95

                                        │ /tmp/tmp75m682su.main.txt │     /tmp/tmpdvjvf9hh.target.txt      │
                                        │            B/s            │      B/s       vs base               │
MarshalInterface/CanadaGeometry_Sonic-8               204.8Mi ± ∞ ¹   142.2Mi ± ∞ ¹  -30.60% (p=0.008 n=5)
MarshalInterface/CitmCatalog_Sonic-8                  489.9Mi ± ∞ ¹   306.0Mi ± ∞ ¹  -37.54% (p=0.008 n=5)
MarshalInterface/GolangSource_Sonic-8                 190.4Mi ± ∞ ¹   125.0Mi ± ∞ ¹  -34.36% (p=0.008 n=5)
MarshalInterface/StringEscaped_Sonic-8                3.578Gi ± ∞ ¹   2.419Gi ± ∞ ¹  -32.39% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-8                1.529Gi ± ∞ ¹   1.022Gi ± ∞ ¹  -33.13% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-8                  274.4Mi ± ∞ ¹   201.0Mi ± ∞ ¹  -26.75% (p=0.008 n=5)
MarshalInterface/TwitterStatus_Sonic-8                384.0Mi ± ∞ ¹   264.1Mi ± ∞ ¹  -31.23% (p=0.008 n=5)
geomean                                               528.7Mi         357.6Mi        -32.36%
¹ need >= 6 samples for confidence interval at level 0.95

                                        │ /tmp/tmp75m682su.main.txt │     /tmp/tmpdvjvf9hh.target.txt     │
                                        │           B/op            │     B/op       vs base              │
MarshalInterface/CanadaGeometry_Sonic-8               273.2Ki ± ∞ ¹   272.0Ki ± ∞ ¹  -0.41% (p=0.032 n=5)
MarshalInterface/CitmCatalog_Sonic-8                  496.9Ki ± ∞ ¹   496.1Ki ± ∞ ¹  -0.17% (p=0.008 n=5)
MarshalInterface/GolangSource_Sonic-8                 1.857Mi ± ∞ ¹   1.858Mi ± ∞ ¹       ~ (p=0.548 n=5)
MarshalInterface/StringEscaped_Sonic-8                18.13Ki ± ∞ ¹   18.07Ki ± ∞ ¹  -0.31% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-8                18.12Ki ± ∞ ¹   18.07Ki ± ∞ ¹  -0.31% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-8                  1.097Mi ± ∞ ¹   1.097Mi ± ∞ ¹       ~ (p=0.222 n=5)
MarshalInterface/TwitterStatus_Sonic-8                459.9Ki ± ∞ ¹   456.1Ki ± ∞ ¹  -0.84% (p=0.008 n=5)
geomean                                               238.4Ki         237.7Ki        -0.30%
¹ need >= 6 samples for confidence interval at level 0.95

                                        │ /tmp/tmp75m682su.main.txt │    /tmp/tmpdvjvf9hh.target.txt     │
                                        │         allocs/op         │  allocs/op   vs base               │
MarshalInterface/CanadaGeometry_Sonic-8                 4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalInterface/CitmCatalog_Sonic-8                    4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalInterface/GolangSource_Sonic-8                   4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalInterface/StringEscaped_Sonic-8                  4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-8                  4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-8                    4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalInterface/TwitterStatus_Sonic-8                  4.000 ± ∞ ¹   2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
geomean                                                 4.000         2.000        -50.00%
¹ need >= 6 samples for confidence interval at level 0.95

./scripts/bench2.py -c " SONIC_USE_ENCODE_VM=1 SONIC_NO_ASYNC_GC=1 go test -run=none -benchmem -bench=BenchmarkMarshalConcrete/.*_Sonic$ -count=5 ./generic_test"

goos: linux
goarch: amd64
pkg: github.com/bytedance/sonic/generic_test
cpu: Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz
                                       │ /tmp/tmpenxj1usu.main.txt │      /tmp/tmpwzh_86iu.target.txt      │
                                       │          sec/op           │    sec/op      vs base                │
MarshalConcrete/CanadaGeometry_Sonic-8                993.4µ ± ∞ ¹   1222.8µ ± ∞ ¹   +23.09% (p=0.008 n=5)
MarshalConcrete/CitmCatalog_Sonic-8                   715.0µ ± ∞ ¹   1687.9µ ± ∞ ¹  +136.08% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-8                  3.040m ± ∞ ¹    6.144m ± ∞ ¹  +102.10% (p=0.008 n=5)
MarshalConcrete/StringEscaped_Sonic-8                 7.193µ ± ∞ ¹   11.245µ ± ∞ ¹   +56.33% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-8                 7.008µ ± ∞ ¹   10.962µ ± ∞ ¹   +56.42% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-8                   7.928m ± ∞ ¹   13.469m ± ∞ ¹   +69.89% (p=0.008 n=5)
MarshalConcrete/TwitterStatus_Sonic-8                 367.6µ ± ∞ ¹    867.1µ ± ∞ ¹  +135.88% (p=0.008 n=5)
geomean                                               316.4µ          564.5µ         +78.42%
¹ need >= 6 samples for confidence interval at level 0.95

                                       │ /tmp/tmpenxj1usu.main.txt │     /tmp/tmpwzh_86iu.target.txt      │
                                       │            B/s            │      B/s       vs base               │
MarshalConcrete/CanadaGeometry_Sonic-8               259.6Mi ± ∞ ¹   210.9Mi ± ∞ ¹  -18.76% (p=0.008 n=5)
MarshalConcrete/CitmCatalog_Sonic-8                 2303.9Mi ± ∞ ¹   975.9Mi ± ∞ ¹  -57.64% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-8                 608.7Mi ± ∞ ¹   301.2Mi ± ∞ ¹  -50.52% (p=0.008 n=5)
MarshalConcrete/StringEscaped_Sonic-8                5.446Gi ± ∞ ¹   3.484Gi ± ∞ ¹  -36.03% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-8                2.409Gi ± ∞ ¹   1.540Gi ± ∞ ¹  -36.07% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-8                  241.6Mi ± ∞ ¹   142.2Mi ± ∞ ¹  -41.14% (p=0.008 n=5)
MarshalConcrete/TwitterStatus_Sonic-8               1638.4Mi ± ∞ ¹   694.6Mi ± ∞ ¹  -57.61% (p=0.008 n=5)
geomean                                              1.077Gi         618.0Mi        -43.95%
¹ need >= 6 samples for confidence interval at level 0.95

                                       │ /tmp/tmpenxj1usu.main.txt │     /tmp/tmpwzh_86iu.target.txt     │
                                       │           B/op            │     B/op       vs base              │
MarshalConcrete/CanadaGeometry_Sonic-8               273.7Ki ± ∞ ¹   272.2Ki ± ∞ ¹  -0.54% (p=0.008 n=5)
MarshalConcrete/CitmCatalog_Sonic-8                  498.0Ki ± ∞ ¹   496.3Ki ± ∞ ¹  -0.36% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-8                 1.888Mi ± ∞ ¹   1.858Mi ± ∞ ¹  -1.59% (p=0.008 n=5)
MarshalConcrete/StringEscaped_Sonic-8                18.14Ki ± ∞ ¹   18.07Ki ± ∞ ¹  -0.39% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-8                18.14Ki ± ∞ ¹   18.08Ki ± ∞ ¹  -0.34% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-8                  3.811Mi ± ∞ ¹   3.809Mi ± ∞ ¹       ~ (p=0.222 n=5)
MarshalConcrete/TwitterStatus_Sonic-8                489.5Ki ± ∞ ¹   488.3Ki ± ∞ ¹  -0.25% (p=0.016 n=5)
geomean                                              288.3Ki         286.9Ki        -0.50%
¹ need >= 6 samples for confidence interval at level 0.95

                                       │ /tmp/tmpenxj1usu.main.txt │     /tmp/tmpwzh_86iu.target.txt     │
                                       │         allocs/op         │  allocs/op    vs base               │
MarshalConcrete/CanadaGeometry_Sonic-8                 4.000 ± ∞ ¹    2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalConcrete/CitmCatalog_Sonic-8                    4.000 ± ∞ ¹    2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-8                   4.000 ± ∞ ¹    2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalConcrete/StringEscaped_Sonic-8                  4.000 ± ∞ ¹    2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-8                  4.000 ± ∞ ¹    2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-8                   17.94k ± ∞ ¹   17.94k ± ∞ ¹   -0.01% (p=0.008 n=5)
MarshalConcrete/TwitterStatus_Sonic-8                  4.000 ± ∞ ¹    2.000 ± ∞ ¹  -50.00% (p=0.008 n=5)
geomean                                                13.30          7.340        -44.80%
¹ need >= 6 samples for confidence interval at level 0.95

@liuq19 liuq19 force-pushed the dev/arm64 branch 2 times, most recently from b94c0a0 to bd7e026 Compare July 1, 2024 11:36
@liuq19
Copy link
Collaborator Author

liuq19 commented Jul 1, 2024

Compare with encoding/json in M1 Mac(aarch64) in go1.20.4

goos: darwin
goarch: arm64
pkg: github.com/bytedance/sonic/generic_test
                                           │   main.txt    │              target.txt              │
                                           │    sec/op     │    sec/op     vs base                │
UnmarshalConcrete/CanadaGeometry_Sonic-10     5.091m ± ∞ ¹   1.205m ± ∞ ¹   -76.33% (p=0.008 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-10       27.978m ± ∞ ¹   3.731m ± ∞ ¹   -86.66% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-10       32.36m ± ∞ ¹   12.97m ± ∞ ¹   -59.93% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-10     441.26µ ± ∞ ¹   91.88µ ± ∞ ¹   -79.18% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-10     152.42µ ± ∞ ¹   12.91µ ± ∞ ¹   -91.53% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-10       30.497m ± ∞ ¹   6.189m ± ∞ ¹   -79.71% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-10      8.700m ± ∞ ¹   1.601m ± ∞ ¹   -81.60% (p=0.008 n=5)
UnmarshalInterface/CanadaGeometry_Sonic-10   7417.1µ ± ∞ ¹   843.9µ ± ∞ ¹   -88.62% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-10      27.106m ± ∞ ¹   3.160m ± ∞ ¹   -88.34% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-10     28.903m ± ∞ ¹   8.407m ± ∞ ¹   -70.91% (p=0.008 n=5)
UnmarshalInterface/StringEscaped_Sonic-10    502.42µ ± ∞ ¹   94.76µ ± ∞ ¹   -81.14% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-10    148.57µ ± ∞ ¹   17.35µ ± ∞ ¹   -88.32% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-10      27.308m ± ∞ ¹   7.876m ± ∞ ¹   -71.16% (p=0.008 n=5)
UnmarshalInterface/TwitterStatus_Sonic-10    13.292m ± ∞ ¹   1.344m ± ∞ ¹   -89.89% (p=0.008 n=5)
MarshalConcrete/CanadaGeometry_Sonic-10       2.166m ± ∞ ¹   1.849m ± ∞ ¹         ~ (p=0.095 n=5)
MarshalConcrete/CitmCatalog_Sonic-10          1.342m ± ∞ ¹   2.705m ± ∞ ¹  +101.53% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-10         6.191m ± ∞ ¹   9.635m ± ∞ ¹   +55.63% (p=0.008 n=5)
MarshalConcrete/StringEscaped_Sonic-10       42.768µ ± ∞ ¹   9.780µ ± ∞ ¹   -77.13% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-10        49.93µ ± ∞ ¹   10.14µ ± ∞ ¹   -79.70% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-10          13.43m ± ∞ ¹   12.23m ± ∞ ¹         ~ (p=0.690 n=5)
MarshalConcrete/TwitterStatus_Sonic-10        1.005m ± ∞ ¹   1.080m ± ∞ ¹         ~ (p=0.548 n=5)
MarshalInterface/CanadaGeometry_Sonic-10      2.616m ± ∞ ¹   2.962m ± ∞ ¹         ~ (p=0.548 n=5)
MarshalInterface/CitmCatalog_Sonic-10         7.891m ± ∞ ¹   8.323m ± ∞ ¹         ~ (p=0.310 n=5)
MarshalInterface/GolangSource_Sonic-10        25.04m ± ∞ ¹   26.00m ± ∞ ¹         ~ (p=0.310 n=5)
MarshalInterface/StringEscaped_Sonic-10       48.69µ ± ∞ ¹   18.65µ ± ∞ ¹   -61.69% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-10       46.45µ ± ∞ ¹   18.28µ ± ∞ ¹   -60.64% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-10         12.64m ± ∞ ¹   11.66m ± ∞ ¹         ~ (p=0.151 n=5)
MarshalInterface/TwitterStatus_Sonic-10       4.265m ± ∞ ¹   3.242m ± ∞ ¹   -23.98% (p=0.008 n=5)
geomean                                       2.602m         932.0µ         -64.17%
¹ need >= 6 samples for confidence interval at level 0.95

                                           │    main.txt    │               target.txt                │
                                           │      B/s       │      B/s        vs base                 │
UnmarshalConcrete/CanadaGeometry_Sonic-10     50.66Mi ± ∞ ¹   214.02Mi ± ∞ ¹   +322.48% (p=0.008 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-10        58.87Mi ± ∞ ¹   441.44Mi ± ∞ ¹   +649.85% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-10       57.19Mi ± ∞ ¹   142.73Mi ± ∞ ¹   +149.56% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-10      90.90Mi ± ∞ ¹   436.60Mi ± ∞ ¹   +380.29% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-10      113.4Mi ± ∞ ¹   1338.7Mi ± ∞ ¹  +1080.51% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-10        62.81Mi ± ∞ ¹   309.50Mi ± ∞ ¹   +392.76% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-10      69.23Mi ± ∞ ¹   376.12Mi ± ∞ ¹   +443.31% (p=0.008 n=5)
UnmarshalInterface/CanadaGeometry_Sonic-10    34.77Mi ± ∞ ¹   305.59Mi ± ∞ ¹   +778.85% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-10       60.77Mi ± ∞ ¹   521.24Mi ± ∞ ¹   +757.75% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-10      64.03Mi ± ∞ ¹   220.14Mi ± ∞ ¹   +243.80% (p=0.008 n=5)
UnmarshalInterface/StringEscaped_Sonic-10     79.84Mi ± ∞ ¹   423.34Mi ± ∞ ¹   +430.22% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-10     116.3Mi ± ∞ ¹    996.0Mi ± ∞ ¹   +756.09% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-10       70.14Mi ± ∞ ¹   243.19Mi ± ∞ ¹   +246.70% (p=0.008 n=5)
UnmarshalInterface/TwitterStatus_Sonic-10     45.31Mi ± ∞ ¹   448.23Mi ± ∞ ¹   +889.27% (p=0.008 n=5)
MarshalConcrete/CanadaGeometry_Sonic-10       119.0Mi ± ∞ ¹    139.5Mi ± ∞ ¹          ~ (p=0.095 n=5)
MarshalConcrete/CitmCatalog_Sonic-10         1227.4Mi ± ∞ ¹    609.0Mi ± ∞ ¹    -50.38% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-10         298.9Mi ± ∞ ¹    192.1Mi ± ∞ ¹    -35.74% (p=0.008 n=5)
MarshalConcrete/StringEscaped_Sonic-10        937.9Mi ± ∞ ¹   4101.7Mi ± ∞ ¹   +337.32% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-10        346.2Mi ± ∞ ¹   1705.5Mi ± ∞ ¹   +392.69% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-10          142.7Mi ± ∞ ¹    156.6Mi ± ∞ ¹          ~ (p=0.690 n=5)
MarshalConcrete/TwitterStatus_Sonic-10        599.2Mi ± ∞ ¹    557.6Mi ± ∞ ¹          ~ (p=0.548 n=5)
MarshalInterface/CanadaGeometry_Sonic-10      98.58Mi ± ∞ ¹    87.07Mi ± ∞ ¹          ~ (p=0.548 n=5)
MarshalInterface/CitmCatalog_Sonic-10         208.7Mi ± ∞ ¹    197.9Mi ± ∞ ¹          ~ (p=0.310 n=5)
MarshalInterface/GolangSource_Sonic-10        73.90Mi ± ∞ ¹    71.18Mi ± ∞ ¹          ~ (p=0.310 n=5)
MarshalInterface/StringEscaped_Sonic-10       823.9Mi ± ∞ ¹   2150.8Mi ± ∞ ¹   +161.04% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-10       372.1Mi ± ∞ ¹    945.4Mi ± ∞ ¹   +154.06% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-10         151.6Mi ± ∞ ¹    164.3Mi ± ∞ ¹          ~ (p=0.151 n=5)
MarshalInterface/TwitterStatus_Sonic-10       141.2Mi ± ∞ ¹    185.8Mi ± ∞ ¹    +31.55% (p=0.008 n=5)
geomean                                       134.1Mi          374.3Mi         +179.13%
¹ need >= 6 samples for confidence interval at level 0.95

                                           │    main.txt    │              target.txt              │
                                           │      B/op      │     B/op       vs base               │
UnmarshalConcrete/CanadaGeometry_Sonic-10    2326.4Ki ± ∞ ¹   417.6Ki ± ∞ ¹  -82.05% (p=0.008 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-10        8.817Mi ± ∞ ¹   2.388Mi ± ∞ ¹  -72.92% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-10       12.82Mi ± ∞ ¹   18.11Mi ± ∞ ¹  +41.22% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-10     284.42Ki ± ∞ ¹   68.18Ki ± ∞ ¹  -76.03% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-10     117.09Ki ± ∞ ¹   20.35Ki ± ∞ ¹  -82.62% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-10        12.07Mi ± ∞ ¹   20.11Mi ± ∞ ¹  +66.57% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-10     4162.5Ki ± ∞ ¹   901.3Ki ± ∞ ¹  -78.35% (p=0.008 n=5)
UnmarshalInterface/CanadaGeometry_Sonic-10   2838.6Ki ± ∞ ¹   919.6Ki ± ∞ ¹  -67.60% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-10      12.181Mi ± ∞ ¹   5.718Mi ± ∞ ¹  -53.06% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-10      15.26Mi ± ∞ ¹   22.42Mi ± ∞ ¹  +46.91% (p=0.008 n=5)
UnmarshalInterface/StringEscaped_Sonic-10    295.16Ki ± ∞ ¹   77.74Ki ± ∞ ¹  -73.66% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-10    127.83Ki ± ∞ ¹   28.51Ki ± ∞ ¹  -77.70% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-10       14.94Mi ± ∞ ¹   22.90Mi ± ∞ ¹  +53.24% (p=0.008 n=5)
UnmarshalInterface/TwitterStatus_Sonic-10     5.270Mi ± ∞ ¹   1.709Mi ± ∞ ¹  -67.58% (p=0.008 n=5)
MarshalConcrete/CanadaGeometry_Sonic-10       274.3Ki ± ∞ ¹   272.2Ki ± ∞ ¹   -0.77% (p=0.008 n=5)
MarshalConcrete/CitmCatalog_Sonic-10          552.5Ki ± ∞ ¹   496.4Ki ± ∞ ¹  -10.15% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-10         1.866Mi ± ∞ ¹   1.857Mi ± ∞ ¹        ~ (p=1.000 n=5)
MarshalConcrete/StringEscaped_Sonic-10        18.05Ki ± ∞ ¹   18.07Ki ± ∞ ¹   +0.11% (p=0.008 n=5)
MarshalConcrete/StringUnicode_Sonic-10        18.06Ki ± ∞ ¹   18.07Ki ± ∞ ¹   +0.09% (p=0.008 n=5)
MarshalConcrete/SyntheaFhir_Sonic-10          3.766Mi ± ∞ ¹   3.808Mi ± ∞ ¹   +1.10% (p=0.008 n=5)
MarshalConcrete/TwitterStatus_Sonic-10        500.6Ki ± ∞ ¹   488.6Ki ± ∞ ¹   -2.40% (p=0.008 n=5)
MarshalInterface/CanadaGeometry_Sonic-10      275.1Ki ± ∞ ¹   272.3Ki ± ∞ ¹   -1.00% (p=0.008 n=5)
MarshalInterface/CitmCatalog_Sonic-10        4374.2Ki ± ∞ ¹   496.8Ki ± ∞ ¹  -88.64% (p=0.008 n=5)
MarshalInterface/GolangSource_Sonic-10       11.720Mi ± ∞ ¹   1.854Mi ± ∞ ¹  -84.18% (p=0.008 n=5)
MarshalInterface/StringEscaped_Sonic-10       24.06Ki ± ∞ ¹   18.05Ki ± ∞ ¹  -24.97% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-10       24.07Ki ± ∞ ¹   18.05Ki ± ∞ ¹  -24.98% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-10         6.265Mi ± ∞ ¹   1.095Mi ± ∞ ¹  -82.52% (p=0.008 n=5)
MarshalInterface/TwitterStatus_Sonic-10      1870.3Ki ± ∞ ¹   456.3Ki ± ∞ ¹  -75.60% (p=0.008 n=5)
geomean                                       1.075Mi         543.0Ki        -50.69%
¹ need >= 6 samples for confidence interval at level 0.95

                                           │     main.txt     │               target.txt               │
                                           │    allocs/op     │  allocs/op    vs base                  │
UnmarshalConcrete/CanadaGeometry_Sonic-10       16097.0 ± ∞ ¹    968.0 ± ∞ ¹   -93.99% (p=0.008 n=5)
UnmarshalConcrete/CitmCatalog_Sonic-10           33.05k ± ∞ ¹   12.71k ± ∞ ¹   -61.55% (p=0.008 n=5)
UnmarshalConcrete/GolangSource_Sonic-10          79.89k ± ∞ ¹   13.51k ± ∞ ¹   -83.09% (p=0.008 n=5)
UnmarshalConcrete/StringEscaped_Sonic-10         196.00 ± ∞ ¹    64.00 ± ∞ ¹   -67.35% (p=0.008 n=5)
UnmarshalConcrete/StringUnicode_Sonic-10         77.000 ± ∞ ¹    6.000 ± ∞ ¹   -92.21% (p=0.008 n=5)
UnmarshalConcrete/SyntheaFhir_Sonic-10           34.66k ± ∞ ¹   13.68k ± ∞ ¹   -60.53% (p=0.008 n=5)
UnmarshalConcrete/TwitterStatus_Sonic-10         9.045k ± ∞ ¹   1.848k ± ∞ ¹   -79.57% (p=0.008 n=5)
UnmarshalInterface/CanadaGeometry_Sonic-10     52234.00 ± ∞ ¹    12.00 ± ∞ ¹   -99.98% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-10         95391.0 ± ∞ ¹    294.0 ± ∞ ¹   -99.69% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-10      271296.00 ± ∞ ¹    13.00 ± ∞ ¹  -100.00% (p=0.008 n=5)
UnmarshalInterface/StringEscaped_Sonic-10         323.0 ± ∞ ¹    131.0 ± ∞ ¹   -59.44% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-10        204.00 ± ∞ ¹    13.00 ± ∞ ¹   -93.63% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-10        134.405k ± ∞ ¹   1.001k ± ∞ ¹   -99.26% (p=0.008 n=5)
UnmarshalInterface/TwitterStatus_Sonic-10       31282.0 ± ∞ ¹    804.0 ± ∞ ¹   -97.43% (p=0.008 n=5)
MarshalConcrete/CanadaGeometry_Sonic-10           2.000 ± ∞ ¹    2.000 ± ∞ ¹         ~ (p=1.000 n=5) ²
MarshalConcrete/CitmCatalog_Sonic-10            913.000 ± ∞ ¹    2.000 ± ∞ ¹   -99.78% (p=0.008 n=5)
MarshalConcrete/GolangSource_Sonic-10             2.000 ± ∞ ¹    2.000 ± ∞ ¹         ~ (p=1.000 n=5) ²
MarshalConcrete/StringEscaped_Sonic-10            2.000 ± ∞ ¹    2.000 ± ∞ ¹         ~ (p=1.000 n=5) ²
MarshalConcrete/StringUnicode_Sonic-10            2.000 ± ∞ ¹    2.000 ± ∞ ¹         ~ (p=1.000 n=5) ²
MarshalConcrete/SyntheaFhir_Sonic-10             18.05k ± ∞ ¹   17.94k ± ∞ ¹    -0.62% (p=0.008 n=5)
MarshalConcrete/TwitterStatus_Sonic-10          202.000 ± ∞ ¹    2.000 ± ∞ ¹   -99.01% (p=0.008 n=5)
MarshalInterface/CanadaGeometry_Sonic-10         32.000 ± ∞ ¹    2.000 ± ∞ ¹   -93.75% (p=0.008 n=5)
MarshalInterface/CitmCatalog_Sonic-10         95478.000 ± ∞ ¹    2.000 ± ∞ ¹  -100.00% (p=0.008 n=5)
MarshalInterface/GolangSource_Sonic-10       230518.000 ± ∞ ¹    2.000 ± ∞ ¹  -100.00% (p=0.008 n=5)
MarshalInterface/StringEscaped_Sonic-10         126.000 ± ∞ ¹    2.000 ± ∞ ¹   -98.41% (p=0.008 n=5)
MarshalInterface/StringUnicode_Sonic-10         126.000 ± ∞ ¹    2.000 ± ∞ ¹   -98.41% (p=0.008 n=5)
MarshalInterface/SyntheaFhir_Sonic-10        131964.000 ± ∞ ¹    2.000 ± ∞ ¹  -100.00% (p=0.008 n=5)
MarshalInterface/TwitterStatus_Sonic-10       31056.000 ± ∞ ¹    2.000 ± ∞ ¹   -99.99% (p=0.008 n=5)
geomean                                          1.973k          34.83         -98.23%
¹ need >= 6 samples for confidence interval at level 0.95

@liuq19
Copy link
Collaborator Author

liuq19 commented Jul 2, 2024

Not batch allocate the map will cause 10% overhead here.

                                          │ /tmp/tmp43o30mh4.main.txt │     /tmp/tmpvy6cat00.target.txt     │
                                          │          sec/op           │    sec/op     vs base               │
UnmarshalInterface/CanadaGeometry_Sonic-8                3.186m ± ∞ ¹   1.243m ± ∞ ¹  -60.99% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-8                   9.421m ± ∞ ¹   6.542m ± ∞ ¹  -30.56% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-8                  18.54m ± ∞ ¹   12.34m ± ∞ ¹  -33.43% (p=0.008 n=5)
UnmarshalInterface/StringEscaped_Sonic-8                107.96µ ± ∞ ¹   87.50µ ± ∞ ¹  -18.95% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-8                 25.56µ ± ∞ ¹   15.75µ ± ∞ ¹  -38.38% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-8                   12.31m ± ∞ ¹   11.43m ± ∞ ¹   -7.18% (p=0.008 n=5)
UnmarshalInterface/TwitterStatus_Sonic-8                 3.732m ± ∞ ¹   2.216m ± ∞ ¹  -40.61% (p=0.008 n=5)
geomean                                                  1.837m         1.196m        -34.88%
¹ need >= 6 samples for confidence interval at level 0.95

                                          │ /tmp/tmp43o30mh4.main.txt │      /tmp/tmpvy6cat00.target.txt       │
                                          │            B/s            │      B/s        vs base                │
UnmarshalInterface/CanadaGeometry_Sonic-8               80.93Mi ± ∞ ¹   207.45Mi ± ∞ ¹  +156.34% (p=0.008 n=5)
UnmarshalInterface/CitmCatalog_Sonic-8                  174.8Mi ± ∞ ¹    251.8Mi ± ∞ ¹   +44.02% (p=0.008 n=5)
UnmarshalInterface/GolangSource_Sonic-8                 99.81Mi ± ∞ ¹   149.94Mi ± ∞ ¹   +50.22% (p=0.008 n=5)
UnmarshalInterface/StringEscaped_Sonic-8                371.5Mi ± ∞ ¹    458.4Mi ± ∞ ¹   +23.39% (p=0.008 n=5)
UnmarshalInterface/StringUnicode_Sonic-8                676.2Mi ± ∞ ¹   1097.5Mi ± ∞ ¹   +62.30% (p=0.008 n=5)
UnmarshalInterface/SyntheaFhir_Sonic-8                  155.6Mi ± ∞ ¹    167.6Mi ± ∞ ¹    +7.74% (p=0.008 n=5)
UnmarshalInterface/TwitterStatus_Sonic-8                161.4Mi ± ∞ ¹    271.7Mi ± ∞ ¹   +68.38% (p=0.008 n=5)
geomean                                                 189.9Mi          291.6Mi         +53.57%
¹ need >= 6 samples for confidence interval at level 0.95

@liuq19 liuq19 force-pushed the dev/arm64 branch 5 times, most recently from e2be1dd to 75702b6 Compare July 8, 2024 04:40
@liuq19 liuq19 marked this pull request as ready for review July 8, 2024 05:07
AsterDY
AsterDY previously approved these changes Jul 8, 2024
@liuq19 liuq19 force-pushed the dev/arm64 branch 2 times, most recently from c71218e to bd14148 Compare July 8, 2024 05:44
@AsterDY AsterDY merged commit 765ecdb into main Jul 8, 2024
43 checks passed
@AsterDY AsterDY deleted the dev/arm64 branch July 8, 2024 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants