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

Test Go 1.11beta1 for performance vs Go 1.10.x #695

Closed
1 task done
vielmetti opened this issue Jun 28, 2018 · 4 comments
Closed
1 task done

Test Go 1.11beta1 for performance vs Go 1.10.x #695

vielmetti opened this issue Jun 28, 2018 · 4 comments

Comments

@vielmetti
Copy link

  • Change Proposal

Steps or code to reproduce the issue:

Run performance tests on a system under test, using both Go 1.11beta1 and Go 1.10.x as targets, to characterize any differences. This especially interesting on arm64 where Go 1.11beta1 has some crypto improvements on arm64.

A followup from #466 .

Expected result:

Go 1.11beta1 should be measurably faster than Go 1.10.x on arm64, and it should show no regressions on amd64.

Actual result:

Tests not run yet; suggestions for the test suite welcomed.

@derekcollison
Copy link
Member

I would just run the benchmarks under gnatsd/test and save results, use benchcmp to compare.

@vielmetti
Copy link
Author

System under test: Cavium ThunderX (96 cores), Packet c1.large.arm.

Old is go 1.10.2
New is go 1.11beta1

Improvements pretty much across the board.

benchmark                            old ns/op     new ns/op     delta
Benchmark______Pub0b_Payload-96      443           397           -10.38%
Benchmark______Pub8b_Payload-96      444           410           -7.66%
Benchmark_____Pub32b_Payload-96      584           463           -20.72%
Benchmark____Pub128B_Payload-96      796           623           -21.73%
Benchmark____Pub256B_Payload-96      1097          693           -36.83%
Benchmark______Pub1K_Payload-96      2692          2273          -15.56%
Benchmark______Pub4K_Payload-96      10371         7708          -25.68%
Benchmark______Pub8K_Payload-96      20067         14580         -27.34%
Benchmark______Pub32K_Payload-96     106990        55388         -48.23%
Benchmark__AuthPub0b_Payload-96      1161          885           -23.77%
Benchmark_____________PubSub-96      1252          1209          -3.43%
Benchmark_____PubSubTwoConns-96      1310          1212          -7.48%
Benchmark_PubSub512kTwoConns-96      2413103       1890212       -21.67%
Benchmark_____PubTwoQueueSub-96      1372          1274          -7.14%
Benchmark____PubFourQueueSub-96      1370          1297          -5.33%
Benchmark___PubEightQueueSub-96      1367          1283          -6.14%
Benchmark____RoutedPubSub_0b-96      3195          2716          -14.99%
Benchmark____RoutedPubSub_1K-96      11150         8754          -21.49%
Benchmark__RoutedPubSub_100K-96      631650        498822        -21.03%
Benchmark____Routed2QueueSub-96      2184          2012          -7.88%
Benchmark____Routed4QueueSub-96      2315          2033          -12.18%
Benchmark____Routed8QueueSub-96      2274          2076          -8.71%
Benchmark___Routed16QueueSub-96      2310          2071          -10.35%
Benchmark__FanOut_8x1000x100-96      97874883      81463128      -16.77%
Benchmark______FanOut_8x1x10-96      7439          7134          -4.10%
Benchmark_____FanOut_8x1x100-96      70463         67038         -4.86%
Benchmark____FanOut_8x10x100-96      794504        729612        -8.17%
Benchmark___FanOut_8x10x1000-96      8061446       7420120       -7.96%
Benchmark___FanOut_8x100x100-96      7934934       7521590       -5.21%
Benchmark__FanOut_8x100x1000-96      100440344     86866458      -13.51%
Benchmark__FanOut_8x10x10000-96      105595887     85687587      -18.85%
Benchmark__FanOut_1kx10x1000-96      32192521      22170718      -31.13%
Benchmark_____RFanOut_8x1x10-96      22079         21967         -0.51%
Benchmark____RFanOut_8x1x100-96      235797        232453        -1.42%
Benchmark___RFanOut_8x10x100-96      2235151       2312285       +3.45%
Benchmark__RFanOut_8x10x1000-96      25131649      24801559      -1.31%
Benchmark__RFanOut_8x100x100-96      25446545      24686424      -2.99%
Benchmark_RFanOut_8x100x1000-96      343709817     323574744     -5.86%
Benchmark_RFanOut_8x10x10000-96      337391072     309349721     -8.31%
Benchmark_RFanOut_1kx10x1000-96      41470702      30291127      -26.96%

benchmark                            old MB/s     new MB/s     speedup
Benchmark______Pub0b_Payload-96      24.81        27.65        1.11x
Benchmark______Pub8b_Payload-96      42.74        46.26        1.08x
Benchmark_____Pub32b_Payload-96      75.21        94.99        1.26x
Benchmark____Pub128B_Payload-96      177.10       226.03       1.28x
Benchmark____Pub256B_Payload-96      245.19       387.92       1.58x
Benchmark______Pub1K_Payload-96      385.47       456.57       1.18x
Benchmark______Pub4K_Payload-96      396.29       533.19       1.35x
Benchmark______Pub8K_Payload-96      408.91       562.79       1.38x
Benchmark______Pub32K_Payload-96     306.41       591.88       1.93x
Benchmark__AuthPub0b_Payload-96      9.47         12.42        1.31x

@derekcollison
Copy link
Member

Looks good, thanks!

@vielmetti
Copy link
Author

noted at golang/go#19840

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

No branches or pull requests

2 participants