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

Remove amd64 assembly if it isn't faster than generated Go code #44

Open
cespare opened this issue Nov 19, 2020 · 3 comments
Open

Remove amd64 assembly if it isn't faster than generated Go code #44

cespare opened this issue Nov 19, 2020 · 3 comments
Milestone

Comments

@cespare
Copy link
Owner

cespare commented Nov 19, 2020

Last I looked at the benchmarks (several Go releases ago), the compiler had closed a lot of ground and the amd64 assembly version was only a little faster. We should check again, and more comprehensively (i.e. against a wider array of amd64 CPUs). If the asm version has no comprehensive advantage on the latest Go version, we should delete the assembly code and stick to pure Go.

If we did that, it would be in a new major version of the package.

If the hand-rolled assembly still has an advantage, consider filing compiler bugs for any obvious deficiencies in the generated code.

@cespare cespare added this to the v3 milestone Nov 19, 2020
@greatroar
Copy link
Contributor

I'm still seeing a pretty big performance gap on the Core i7-3770K (Go 1.15.3):

name                 old speed      new speed       delta
Sum64/4B-8            536MB/s ± 4%    795MB/s ± 0%  +48.46%  (p=0.000 n=10+9)
Sum64/100B-8         5.00GB/s ± 3%   5.57GB/s ± 0%  +11.40%  (p=0.000 n=10+9)
Sum64/4KB-8          9.53GB/s ±11%  14.41GB/s ± 1%  +51.12%  (p=0.000 n=10+10)
Sum64/10MB-8         9.44GB/s ± 3%  13.05GB/s ± 1%  +38.34%  (p=0.000 n=9+10)
Sum64String/4B-8      533MB/s ± 1%    749MB/s ± 1%  +40.46%  (p=0.000 n=10+10)
Sum64String/100B-8   4.97GB/s ± 1%   5.45GB/s ± 1%   +9.62%  (p=0.000 n=10+9)
Sum64String/4KB-8    9.91GB/s ± 1%  14.39GB/s ± 1%  +45.16%  (p=0.000 n=10+10)
Sum64String/10MB-8   9.42GB/s ± 4%  13.07GB/s ± 1%  +38.70%  (p=0.000 n=10+10)
DigestBytes/4B-8      267MB/s ± 0%    266MB/s ± 1%     ~     (p=0.661 n=9+10)
DigestBytes/100B-8   3.05GB/s ± 1%   3.45GB/s ± 0%  +13.30%  (p=0.000 n=10+9)
DigestBytes/4KB-8    9.21GB/s ± 1%  13.63GB/s ± 1%  +47.90%  (p=0.000 n=10+8)
DigestBytes/10MB-8   9.36GB/s ± 2%  12.02GB/s ±10%  +28.38%  (p=0.000 n=10+10)
DigestString/4B-8     261MB/s ± 1%    258MB/s ± 1%     ~     (p=0.114 n=9+8)
DigestString/100B-8  3.02GB/s ± 1%   3.21GB/s ± 3%   +6.16%  (p=0.000 n=10+10)
DigestString/4KB-8   9.25GB/s ± 1%  13.54GB/s ± 1%  +46.45%  (p=0.000 n=9+9)
DigestString/10MB-8  9.48GB/s ± 1%  13.08GB/s ± 0%  +38.07%  (p=0.000 n=9+10)

@greatroar
Copy link
Contributor

greatroar commented Nov 11, 2022

Figures from #68 (with that PR applied) show that the gap has been closing, but Go 1.19 isn't quite there yet (new=asm):

name                                  old speed      new speed       delta
pkg:github.com/cespare/xxhash/v2 goos:linux goarch:amd64
Sum64/4B-8                             820MB/s ± 0%    819MB/s ± 0%     ~     (p=0.452 n=9+16)
Sum64/16B-8                           2.07GB/s ± 0%   2.55GB/s ± 1%  +23.20%  (p=0.000 n=10+20)
Sum64/100B-8                          5.39GB/s ± 0%   5.81GB/s ± 0%   +7.69%  (p=0.000 n=9+18)
Sum64/4KB-8                           10.0GB/s ± 0%   14.6GB/s ± 0%  +45.67%  (p=0.000 n=9+17)
Sum64/10MB-8                          9.64GB/s ± 0%  13.32GB/s ± 1%  +38.18%  (p=0.000 n=9+16)
Sum64String/4B-8                       776MB/s ± 1%    731MB/s ± 4%   -5.88%  (p=0.000 n=9+20)
Sum64String/16B-8                     1.94GB/s ± 1%   2.17GB/s ± 2%  +11.49%  (p=0.000 n=9+18)
Sum64String/100B-8                    5.26GB/s ± 0%   5.27GB/s ± 2%   +0.27%  (p=0.035 n=10+18)
Sum64String/4KB-8                     10.0GB/s ± 0%   14.3GB/s ± 2%  +42.33%  (p=0.000 n=9+19)
Sum64String/10MB-8                    9.65GB/s ± 1%  13.03GB/s ± 4%  +35.08%  (p=0.000 n=10+20)
DigestBytes/4B-8                       354MB/s ± 0%    318MB/s ± 5%  -10.06%  (p=0.000 n=10+18)
DigestBytes/16B-8                     1.07GB/s ± 0%   0.99GB/s ± 3%   -7.62%  (p=0.000 n=9+20)
DigestBytes/100B-8                    3.67GB/s ± 1%   3.88GB/s ± 0%   +5.62%  (p=0.000 n=10+19)
DigestBytes/4KB-8                     9.65GB/s ± 0%  13.91GB/s ± 2%  +44.16%  (p=0.000 n=8+20)
DigestBytes/10MB-8                    9.63GB/s ± 1%  12.91GB/s ± 5%  +34.05%  (p=0.000 n=10+20)
DigestString/4B-8                      334MB/s ± 0%    311MB/s ± 1%   -6.86%  (p=0.000 n=7+17)
DigestString/16B-8                    1.04GB/s ± 0%   0.97GB/s ± 1%   -6.25%  (p=0.000 n=10+18)
DigestString/100B-8                   3.60GB/s ± 0%   3.63GB/s ± 1%   +0.97%  (p=0.002 n=9+19)
DigestString/4KB-8                    9.64GB/s ± 0%  13.79GB/s ± 2%  +43.04%  (p=0.000 n=9+19)
DigestString/10MB-8                   9.67GB/s ± 0%  13.32GB/s ± 1%  +37.67%  (p=0.000 n=9+16)
pkg:github.com/cespare/xxhash/xxhashbench goos:linux goarch:amd64
Hashes/xxhash,direct,bytes,n=5B-8      778MB/s ± 0%    715MB/s ± 1%   -8.13%  (p=0.000 n=10+19)
Hashes/xxhash,direct,string,n=5B-8     646MB/s ± 0%    643MB/s ± 1%   -0.57%  (p=0.000 n=8+19)
Hashes/xxhash,direct,bytes,n=100B-8   5.18GB/s ± 0%   5.29GB/s ± 1%   +2.03%  (p=0.000 n=9+20)
Hashes/xxhash,direct,string,n=100B-8  4.93GB/s ± 1%   5.08GB/s ± 1%   +2.98%  (p=0.000 n=10+18)
Hashes/xxhash,direct,bytes,n=4KB-8    10.0GB/s ± 0%   14.5GB/s ± 1%  +44.99%  (p=0.000 n=8+19)
Hashes/xxhash,direct,string,n=4KB-8   10.0GB/s ± 0%   14.4GB/s ± 0%  +43.49%  (p=0.000 n=10+18)
Hashes/xxhash,direct,bytes,n=10MB-8   9.68GB/s ± 0%  13.36GB/s ± 1%  +38.02%  (p=0.000 n=9+20)
Hashes/xxhash,direct,string,n=10MB-8  9.67GB/s ± 0%  13.30GB/s ± 1%  +37.58%  (p=0.000 n=9+19)

@Omnikron13
Copy link

Another data point for you, with Go v1.22.3, Linux kernel v6.9.1. Zen 3 Ryzen, laptop spec.

Pure Go:

goos: linux
goarch: amd64
pkg: github.com/cespare/xxhash/v2
cpu: AMD Ryzen 7 6800HS Creator Edition
BenchmarkSum64/4B           	438107426	        2.699 ns/op	1481.79 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4B-8         	447733318	        2.666 ns/op	1500.15 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4B-16        	444970639	        2.688 ns/op	1488.27 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/16B          	209064787	        5.801 ns/op	2758.17 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/16B-8        	210005012	        5.825 ns/op	2746.62 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/16B-16       	204992371	        5.108 ns/op	3132.07 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/100B         	83397306	       13.93 ns/op	7178.67 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/100B-8       	88112182	       14.09 ns/op	7099.66 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/100B-16      	85486555	       13.95 ns/op	7168.06 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4KB          	4650106	      259.6 ns/op	15406.63 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4KB-8        	4551982	      258.5 ns/op	15475.71 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4KB-16       	4635415	      257.1 ns/op	15555.50 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/10MB         	   1884	   633743 ns/op	15779.27 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/10MB-8       	   1764	   635360 ns/op	15739.11 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/10MB-16      	   1868	   650796 ns/op	15365.79 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4B     	405024692	        2.975 ns/op	1344.46 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4B-8   	392904072	        2.917 ns/op	1371.10 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4B-16  	406794836	        2.934 ns/op	1363.31 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/16B    	213637359	        5.517 ns/op	2899.94 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/16B-8  	241326585	        5.383 ns/op	2972.47 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/16B-16 	213897997	        5.850 ns/op	2735.12 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/100B            	89649052	       13.01 ns/op	7685.12 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/100B-8          	92402638	       13.27 ns/op	7533.27 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/100B-16         	88747700	       13.02 ns/op	7678.50 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4KB             	4649809	      257.3 ns/op	15543.67 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4KB-8           	4650768	      257.4 ns/op	15538.97 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4KB-16          	4566246	      260.1 ns/op	15378.10 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/10MB            	   1856	   639281 ns/op	15642.57 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/10MB-8          	   1819	   644309 ns/op	15520.50 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/10MB-16         	   1869	   655756 ns/op	15249.59 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4B              	143477212	        8.266 ns/op	483.90 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4B-8            	144695122	        8.296 ns/op	482.18 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4B-16           	144436534	        8.308 ns/op	481.44 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/16B             	129831850	        9.248 ns/op	1730.10 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/16B-8           	130472734	        9.222 ns/op	1734.95 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/16B-16          	130216280	        9.232 ns/op	1733.18 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/100B            	70039692	       16.87 ns/op	5929.17 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/100B-8          	63826839	       16.93 ns/op	5906.80 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/100B-16         	68428908	       16.84 ns/op	5937.22 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4KB             	3792873	      317.0 ns/op	12617.37 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4KB-8           	3762045	      316.2 ns/op	12651.33 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4KB-16          	3784354	      315.8 ns/op	12667.96 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/10MB            	   1521	   778861 ns/op	12839.25 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/10MB-8          	   1536	   778806 ns/op	12840.16 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/10MB-16         	   1525	   778753 ns/op	12841.05 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4B             	141143995	        8.543 ns/op	468.24 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4B-8           	140527107	        8.573 ns/op	466.61 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4B-16          	139520191	        8.560 ns/op	467.26 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/16B            	127473084	        9.407 ns/op	1700.81 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/16B-8          	127380229	        9.386 ns/op	1704.74 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/16B-16         	126311818	        9.462 ns/op	1690.98 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/100B           	64272133	       17.14 ns/op	5834.82 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/100B-8         	69929364	       17.07 ns/op	5857.53 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/100B-16        	66810739	       17.10 ns/op	5847.22 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4KB            	3817513	      320.4 ns/op	12485.06 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4KB-8          	3724281	      319.0 ns/op	12538.48 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4KB-16         	3772898	      317.4 ns/op	12600.71 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/10MB           	   1527	   774769 ns/op	12907.07 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/10MB-8         	   1525	   777662 ns/op	12859.06 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/10MB-16        	   1518	   777722 ns/op	12858.06 MB/s	      0 B/op	      0 allocs/op
PASS
ok  	github.com/cespare/xxhash/v2	91.850s

Impure Go:

goos: linux
goarch: amd64
pkg: github.com/cespare/xxhash/v2
cpu: AMD Ryzen 7 6800HS Creator Edition
BenchmarkSum64/4B           	401196597	        2.950 ns/op	1356.05 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4B-8         	400085169	        2.934 ns/op	1363.37 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4B-16        	404295265	        2.930 ns/op	1365.19 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/16B          	330080486	        3.624 ns/op	4415.53 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/16B-8        	330503450	        3.630 ns/op	4408.24 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/16B-16       	314579079	        3.595 ns/op	4450.52 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/100B         	100000000	       10.94 ns/op	9142.17 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/100B-8       	100000000	       10.95 ns/op	9131.72 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/100B-16      	100000000	       10.90 ns/op	9171.23 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4KB          	5234037	      229.6 ns/op	17418.17 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4KB-8        	5149968	      230.3 ns/op	17368.95 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/4KB-16       	5209500	      228.5 ns/op	17507.74 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/10MB         	   2076	   566494 ns/op	17652.44 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/10MB-8       	   2120	   564842 ns/op	17704.07 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64/10MB-16      	   2049	   571553 ns/op	17496.20 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4B     	379023014	        3.143 ns/op	1272.86 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4B-8   	380283730	        3.177 ns/op	1259.22 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4B-16  	378247591	        3.157 ns/op	1267.17 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/16B    	296381830	        4.047 ns/op	3953.32 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/16B-8  	295498890	        4.054 ns/op	3946.39 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/16B-16 	294255729	        4.068 ns/op	3933.29 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/100B            	100000000	       10.71 ns/op	9338.33 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/100B-8          	100000000	       10.67 ns/op	9368.83 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/100B-16         	100000000	       10.70 ns/op	9345.51 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4KB             	5254964	      228.1 ns/op	17538.77 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4KB-8           	5237409	      228.1 ns/op	17532.72 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/4KB-16          	5248017	      228.4 ns/op	17509.96 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/10MB            	   2073	   564882 ns/op	17702.80 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/10MB-8          	   2096	   566192 ns/op	17661.84 MB/s	      0 B/op	      0 allocs/op
BenchmarkSum64String/10MB-16         	   2131	   567503 ns/op	17621.06 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4B              	163235532	        7.364 ns/op	543.20 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4B-8            	162697132	        7.369 ns/op	542.79 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4B-16           	162917925	        7.344 ns/op	544.67 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/16B             	126186823	        9.473 ns/op	1689.10 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/16B-8           	126433228	        9.566 ns/op	1672.65 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/16B-16          	125454919	        9.500 ns/op	1684.19 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/100B            	71457890	       16.40 ns/op	6098.61 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/100B-8          	71529414	       16.64 ns/op	6011.11 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/100B-16         	65505350	       16.70 ns/op	5987.52 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4KB             	5049522	      237.5 ns/op	16843.40 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4KB-8           	5034448	      236.6 ns/op	16907.02 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/4KB-16          	5103289	      237.6 ns/op	16832.57 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/10MB            	   2083	   571551 ns/op	17496.26 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/10MB-8          	   2061	   572553 ns/op	17465.62 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestBytes/10MB-16         	   2059	   570899 ns/op	17516.24 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4B             	133636438	        8.952 ns/op	446.82 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4B-8           	134451289	        8.919 ns/op	448.50 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4B-16          	133411455	        9.043 ns/op	442.35 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/16B            	100000000	       10.27 ns/op	1557.97 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/16B-8          	100000000	       10.26 ns/op	1559.52 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/16B-16         	100000000	       10.15 ns/op	1575.66 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/100B           	72898752	       16.51 ns/op	6057.80 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/100B-8         	68669601	       16.41 ns/op	6092.78 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/100B-16        	67937136	       16.43 ns/op	6084.94 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4KB            	5108391	      235.8 ns/op	16963.21 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4KB-8          	5070990	      236.6 ns/op	16902.73 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/4KB-16         	5049720	      236.0 ns/op	16948.90 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/10MB           	   2077	   569153 ns/op	17569.96 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/10MB-8         	   2058	   570807 ns/op	17519.07 MB/s	      0 B/op	      0 allocs/op
BenchmarkDigestString/10MB-16        	   2048	   579900 ns/op	17244.36 MB/s	      0 B/op	      0 allocs/op
PASS
ok  	github.com/cespare/xxhash/v2	85.979s

System info:

CPU:
  Info: 8-core model: AMD Ryzen 7 6800HS Creator Edition bits: 64 type: MT MCP
    smt: enabled arch: Zen 3+ rev: 1 cache: L1: 512 KiB L2: 4 MiB L3: 16 MiB
  Speed (MHz): avg: 1795 high: 3471 min/max: 400/4785 volts: 1.2 V
    ext-clock: 100 MHz cores: 1: 3150 2: 400 3: 400 4: 3161 5: 3471 6: 400
    7: 3137 8: 400 9: 3059 10: 400 11: 3138 12: 400 13: 3114 14: 400 15: 3303
    16: 400 bogomips: 102243
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Memory:
  System RAM: total: 32 GiB available: 27.11 GiB used: 7.03 GiB (25.9%)
  Report: arrays: 1 capacity: 32 GiB installed: 32 GiB slots: 4 active: 4
    type: LPDDR5 eec: None

(I assume a full on cpuid dump would be overkill =P)

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

3 participants