Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New tsan runtime (v3) built on llvm commit 1784fe0532a6. The new runtime features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized (on x86) race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutines Some random subset of benchmarks: encoding/json: CodeEncoder-72 20.3ms ± 6% 11.7ms ± 4% -42.02% (p=0.000 n=10+8) CodeMarshal-72 22.3ms ±11% 12.7ms ±11% -43.28% (p=0.000 n=10+10) CodeDecoder-72 46.1ms ±42% 20.2ms ± 7% -56.18% (p=0.000 n=10+10) CodeUnmarshal-72 16.7ms ±14% 13.2ms ± 9% -20.93% (p=0.000 n=10+10) CodeUnmarshalReuse-72 17.7ms ±17% 12.8ms ± 8% -27.58% (p=0.000 n=10+10) net/http: ClientServerParallel4-72 914µs ±18% 72µs ± 5% -92.16% (p=0.000 n=20+18) ClientServerParallel64-72 1.77ms ±16% 0.12ms ±29% -93.43% (p=0.000 n=20+17) ClientServerParallelTLS4-72 1.99ms ±33% 0.20ms ± 5% -89.83% (p=0.000 n=19+17) ClientServerParallelTLS64-72 2.72ms ±26% 0.25ms ±16% -90.96% (p=0.000 n=20+16) compress/flate: Decode/Digits/Huffman/1e4-72 2.53ms ± 3% 1.47ms ± 4% -41.72% (p=0.000 n=9+10) Decode/Digits/Speed/1e4-72 2.59ms ± 5% 1.52ms ± 3% -41.44% (p=0.000 n=8+9) Decode/Digits/Default/1e4-72 2.56ms ± 6% 1.51ms ± 4% -40.96% (p=0.000 n=10+10) Decode/Digits/Compression/1e4-72 2.54ms ± 6% 1.52ms ± 2% -40.14% (p=0.000 n=10+9) Decode/Newton/Huffman/1e4-72 2.65ms ± 3% 1.58ms ± 4% -40.45% (p=0.000 n=10+10) Decode/Newton/Speed/1e4-72 2.16ms ± 9% 1.28ms ± 5% -40.59% (p=0.000 n=10+10) Decode/Newton/Default/1e4-72 2.01ms ± 8% 1.16ms ± 6% -42.11% (p=0.000 n=10+10) Decode/Newton/Compression/1e4-72 1.99ms ± 6% 1.17ms ± 3% -41.05% (p=0.000 n=9+10) Encode/Digits/Huffman/1e4-72 2.05ms ± 2% 0.75ms ± 5% -63.32% (p=0.000 n=10+10) Encode/Digits/Speed/1e4-72 2.89ms ± 2% 1.37ms ± 2% -52.56% (p=0.000 n=9+10) Encode/Digits/Default/1e4-72 7.55ms ± 2% 3.86ms ± 4% -48.93% (p=0.000 n=8+10) Encode/Digits/Compression/1e4-72 7.46ms ± 4% 3.88ms ± 4% -48.07% (p=0.000 n=9+9) Encode/Newton/Huffman/1e4-72 2.20ms ± 4% 0.90ms ± 6% -59.01% (p=0.000 n=10+10) Encode/Newton/Speed/1e4-72 2.62ms ± 2% 1.30ms ± 4% -50.52% (p=0.000 n=9+10) Encode/Newton/Default/1e4-72 7.40ms ± 5% 3.72ms ± 2% -49.65% (p=0.000 n=10+9) Encode/Newton/Compression/1e4-72 7.67ms ± 9% 3.85ms ± 4% -49.87% (p=0.000 n=10+10) encoding/json short tests: Time 2.34sec ± 6% 1.67sec ±11% -28.85% (p=0.000 n=10+10) Memory 266MB ± 1% 190MB ± 9% -28.78% (p=0.000 n=10+10) compress/flate short tests: Time 4.69sec ± 4% 2.78sec ± 3% -40.61% (p=0.000 n=10+10) Memory 284MB ± 5% 181MB ± 4% -36.04% (p=0.000 n=10+9) sync short tests: Time 4.87sec ± 4% 0.87sec ± 6% -82.21% (p=0.000 n=10+10) Memory 147MB ± 3% 99MB ± 8% -32.47% (p=0.000 n=10+9) Fixes #47056 Fixes #38184 Change-Id: I0cf228f2e4cac7778d34d33e46df7c081645f5d5 Reviewed-on: https://go-review.googlesource.com/c/go/+/333529 Run-TryBot: Dmitry Vyukov <dvyukov@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Trust: Dmitry Vyukov <dvyukov@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
- Loading branch information