Go Benchmarks

Benchmark for monitoring real time performance of the Go implementation for HTTP, JSON and garbage testing per iteration.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark go-benchmark.

Project Site

github.com

Test Created

3 February 2016

Last Updated

7 April 2018

Test Maintainer

Gabriela Cervantes, Athenas Jimenez 

Test Type

Processor

Average Install Time

1 Second

Average Run Time

4 Minutes, 13 Seconds

Test Dependencies

Go Language

Accolades

100k+ Downloads + 5k+ Public Benchmark Results

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsGo Benchmarks Popularity Statisticspts/go-benchmark2016.022016.052016.082016.112017.022017.052017.082017.112018.022018.052018.082018.112019.022019.052019.082019.112020.022020.052020.082020.112021.022021.052021.082021.112022.022022.052022.082022.112023.022023.052023.082023.112024.0214K28K42K56K70K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 21 April 2024.
build18.4%json51.9%garbage15.7%http14.0%Test Option PopularityOpenBenchmarking.org

Revision History

pts/go-benchmark-1.1.4   [View Source]   Sat, 07 Apr 2018 20:22:14 GMT
Update result parser handling, allows test to work on BSD

pts/go-benchmark-1.1.3   [View Source]   Sat, 03 Mar 2018 19:39:08 GMT
Add Windows support.

pts/go-benchmark-1.1.2   [View Source]   Sun, 10 Dec 2017 17:54:20 GMT
Fix for latest changes

pts/go-benchmark-1.1.1   [View Source]   Sun, 10 Dec 2017 17:42:51 GMT
Fix broken download file

pts/go-benchmark-1.1.0   [View Source]   Mon, 04 Dec 2017 09:44:58 GMT
Updates

pts/go-benchmark-1.0.1   [View Source]   Thu, 19 May 2016 08:54:28 GMT
Update Git snapshot of Go benchmarks

pts/go-benchmark-1.0.0   [View Source]   Wed, 03 Feb 2016 14:40:39 GMT
Initial commit.

Suites Using This Test

CPU Massive


Performance Metrics

Analyze Test Configuration:

Go Benchmarks

Test: build

OpenBenchmarking.org metrics for this test profile configuration based on 1,589 public results since 10 December 2017 with the latest data as of 15 March 2024.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Nanoseconds/Operation (Average)
95th
3
12800740814 +/- 683898903
93rd
5
13306854964 +/- 1237768364
93rd
4
13310855308 +/- 159217553
93rd
5
13435018584 +/- 309623020
93rd
3
13435865640 +/- 472169513
89th
7
13891369172 +/- 942307866
88th
18
14158775260 +/- 1845945240
87th
4
14287393921 +/- 2002537276
81st
3
15685179662 +/- 151559059
79th
25
16249886662 +/- 1983870892
78th
3
16443437869 +/- 101598404
77th
3
16547481606 +/- 74277147
77th
5
16549417834 +/- 909148399
Mid-Tier
75th
> 16667225991
75th
5
16798827329 +/- 1356444577
74th
17
17026174276 +/- 904351764
70th
21
17473611033 +/- 2573417789
69th
16
17552612623 +/- 379210282
69th
19
17587416041 +/- 1190778600
65th
4
18045505976 +/- 13009117
59th
10
18789188621 +/- 2065058135
59th
14
18828902661 +/- 1129088483
58th
4
19042234248 +/- 11942541
58th
5
19058290742 +/- 1120790006
54th
6
19716042639 +/- 538878897
54th
3
19763868173 +/- 221206096
52nd
27
20053686278 +/- 2690288134
52nd
5
20069482314 +/- 2298871224
Median
50th
20374549303
50th
23
20505700632 +/- 2819430657
49th
5
20688636095 +/- 2778455420
47th
7
21247694678 +/- 360435057
45th
20
21523364411 +/- 1909124422
44th
5
21612938632
43rd
4
21809526203 +/- 664223497
42nd
13
22089293551 +/- 3256788322
41st
4
22422850186 +/- 15564878
40th
5
22522673323
37th
27
23298635627 +/- 2444863997
36th
3
23495243985 +/- 2301696196
36th
4
23531788584 +/- 1001298164
33rd
4
24651143100 +/- 1042949889
33rd
6
24679659071 +/- 1435728101
33rd
3
25036050319
32nd
5
25481171757
31st
4
25579772126
30th
5
25625982134 +/- 2251291771
30th
3
25830214816
30th
3
25882125576 +/- 1173820957
29th
5
25935430170
29th
6
25936061350 +/- 864719700
29th
5
25983329425
29th
5
26061132684
28th
7
26195673632 +/- 3859706997
28th
5
26413350226
27th
3
26504689508 +/- 152344127
27th
3
26554811142
27th
3
26555520636
27th
3
26635457359
26th
5
26784839020
26th
5
26811743887
26th
5
26833773763
Low-Tier
25th
> 26833773763
25th
4
26996186767
24th
5
27156606176
24th
5
27160653682
24th
4
27201247588
23rd
5
27371988085
20th
4
29004191271
19th
8
29428695205 +/- 3600424610
18th
3
29923013847 +/- 1873781867
18th
3
30435295777
16th
5
32125302972 +/- 3841351427
13th
4
35415361933 +/- 4547126456
10th
17
37947853680 +/- 2860125508
8th
6
40905699602 +/- 4556993552
7th
3
43179120077 +/- 5877368042
3rd
3
62860342841 +/- 139235145
2nd
4
74566759013 +/- 3567978448
OpenBenchmarking.orgDistribution Of Public Results - Test: build1589 Results Range From 1251604773 To 115898826367 Nanoseconds/Operation12516047733544549205583749363781304380691042338250112716326933150092713651730221579719595160229218881046612418104909326473993525287669379573105988238933352826821356457712533793871568540231660117425246045494481754898147110493413494034378455169638227753989326709562822711415857521557360868160005631611044376545404886967746993301700399377337233288216574625826597769187710297921171546181504659893837976043258609054875788383493189906764376219296938205395262326485975552709179984821534910214115978110443410421310672704864510901999307711131293750911360588194111589882637360120180240300

Based on OpenBenchmarking.org data, the selected test / test configuration (Go Benchmarks - Test: build) has an average run-time of 2 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkTest: buildRun-Time3691215Min: 1 / Avg: 1.84 / Max: 11

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 1.5%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsTest: buildDeviation3691215Min: 0 / Avg: 1.49 / Max: 11

Does It Scale Well With Increasing Cores?

No, based on the automated analysis of the collected public benchmark data, this test / test settings does not generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseGo Benchmarks CPU Core ScalingTest: build2468121624320.3750.751.1251.51.875

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
IBM POWER (PowerPC) 64-bit
ppc64le
POWER9 4-Core, POWER9 44-Core, POWER9 8-Core, POWER9 altivec supported 44-Core
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv7 32-bit
armv7l
ARMv7 Cortex-A15 8-Core, ARMv7 rev 1 4-Core, ARMv7 rev 3 4-Core, ARMv7 rev 3 8-Core
ARMv8 64-bit
aarch64
ARMv8, ARMv8 Cortex-A57 4-Core, ARMv8 Cortex-A72, ARMv8 Cortex-A72 16-Core, ARMv8 Cortex-A72 2-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A72 8-Core, ARMv8 Cortex-A73, ARMv8 Cortex-A73 8-Core, ARMv8 Cortex-A78E 12-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 64-Core, ARMv8 rev 0 4-Core, ARMv8 rev 0 8-Core, ARMv8 rev 1 4-Core, ARMv8 rev 3 4-Core, ARMv8 rev 3 6-Core, Ampere ARMv8 Neoverse-N1, Ampere eMAG ARMv8 32-Core, Phytium FT2000PLUS, Rockchip ARMVv8 Cortex-A72 6-Core, Rockchip ARMv8 Cortex-A72 6-Core, SiFive RISC-V