Hi,

I'm benchmarking my circuitbreaker implementation 
<https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker> 
against others and decided to run my benchmarks against 
https://golang.org/dl/#unstable (using my mac).

I installed it following go get golang.org/x/build/version/go1.10beta1

The code makes heavy use of locks, goroutines, and atomics (it's a circuit 
pattern after all)!  Before I get too deep
trying to debug it, I was wondering if anything changed in go10 around how 
benchmarks are measured (maybe it's more accurate, not slower),
or if the build we're using isn't optimized like the official releases 
are.  The difference between "/1" and "/75" is how many goroutines
are concurrently executing.

> benchcmp go9_bench_results go10_bench_results 
benchmark                                                 old ns/op     new 
ns/op     delta
BenchmarkCiruits/Mine/passing/DefaultConfig/1-8           867          
 1962          +126.30%
BenchmarkCiruits/Mine/passing/DefaultConfig/75-8          461          
 823           +78.52%
BenchmarkCiruits/Mine/passing/NoTimeout/1-8               329          
 1223          +271.73%
BenchmarkCiruits/Mine/passing/NoTimeout/75-8              306          
 660           +115.69%
BenchmarkCiruits/Mine/failing/DefaultConfig/1-8           190          
 625           +228.95%
BenchmarkCiruits/Mine/failing/DefaultConfig/75-8          127          
 327           +157.48%
BenchmarkCiruits/Mine/failing/NoTimeout/1-8               200          
 605           +202.50%
BenchmarkCiruits/Mine/failing/NoTimeout/75-8              124          
 327           +163.71%
BenchmarkCiruits/GoHystrix/passing/DefaultConfig/1-8      6752          
9263          +37.19%
BenchmarkCiruits/GoHystrix/passing/DefaultConfig/75-8     2656          
2750          +3.54%
BenchmarkCiruits/GoHystrix/failing/DefaultConfig/1-8      5819          
6485          +11.45%
BenchmarkCiruits/GoHystrix/failing/DefaultConfig/75-8     1820          
1736          -4.62%
BenchmarkCiruits/rubyist/passing/Threshold-10/1-8         1453          
1876          +29.11%
BenchmarkCiruits/rubyist/passing/Threshold-10/75-8        757          
 1454          +92.07%
BenchmarkCiruits/rubyist/failing/Threshold-10/1-8         114          
 321           +181.58%
BenchmarkCiruits/rubyist/failing/Threshold-10/75-8        245          
 2245          +816.33%
BenchmarkCiruits/gobreaker/passing/Default/1-8            197          
 594           +201.52%
BenchmarkCiruits/gobreaker/passing/Default/75-8           625          
 723           +15.68%
BenchmarkCiruits/gobreaker/failing/Default/1-8            95.3          
284           +198.01%
BenchmarkCiruits/gobreaker/failing/Default/75-8           281          
 350           +24.56%
BenchmarkCiruits/handy/passing/Default/1-8                1063          
1364          +28.32%
BenchmarkCiruits/handy/passing/Default/75-8               1350          
1875          +38.89%
BenchmarkCiruits/handy/failing/Default/1-8                1423          
1316          -7.52%
BenchmarkCiruits/handy/failing/Default/75-8               1688          
1621          -3.97%

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to