mirror of
https://github.com/ii64/sonic.git
synced 2026-06-21 00:46:43 +08:00
* opt: remove most bound check in quote * opt: remove branch in copied escaped chars * opt: use cache-friendly bool array * opt: use loop unrolling in quote * feat: add `-t` for bench.py Change-Id: I3f41218187597126ef960eab09c6fa6fe252f347 * test:(bench) adjust repeat_time * test: add Diff on CI * test: update bench.py * doc: update README.md Co-authored-by: liuqiang <liuqiang.06@bytedance.com> Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
20 lines
No EOL
964 B
Bash
20 lines
No EOL
964 B
Bash
#!/usr/bin/env bash
|
|
|
|
pwd=$(pwd)
|
|
export SONIC_NO_ASYNC_GC=1
|
|
|
|
cd $pwd/encoder
|
|
go test -benchmem -run=^$ -benchtime=100000x -bench "^(BenchmarkEncoder_.*)$"
|
|
|
|
cd $pwd/decoder
|
|
go test -benchmem -run=^$ -benchtime=100000x -bench "^(BenchmarkDecoder_.*)$"
|
|
|
|
cd $pwd/ast
|
|
go test -benchmem -run=^$ -benchtime=1000000x -bench "^(BenchmarkGet.*|BenchmarkSet.*)$"
|
|
|
|
go test -benchmem -run=^$ -benchtime=10000x -bench "^(BenchmarkParser_.*|BenchmarkEncode.*)$"
|
|
|
|
go test -benchmem -run=^$ -benchtime=10000000x -bench "^(BenchmarkNodeGetByPath|BenchmarkStructGetByPath|BenchmarkNodeIndex|BenchmarkStructIndex|BenchmarkSliceIndex|BenchmarkMapIndex|BenchmarkNodeGet|BenchmarkSliceGet|BenchmarkMapGet|BenchmarkNodeSet|BenchmarkMapSet|BenchmarkNodeSetByIndex|BenchmarkSliceSetByIndex|BenchmarkStructSetByIndex|BenchmarkNodeUnset|BenchmarkMapUnset|BenchmarkNodUnsetByIndex|BenchmarkSliceUnsetByIndex|BenchmarkNodeAdd|BenchmarkSliceAdd|BenchmarkMapAdd)$"
|
|
|
|
unset SONIC_NO_ASYNC_GC
|
|
cd $pwd |