View Single Post
Old 12-01-2021, 19:07   #519
GrayBeard
Member
 
L'Avatar di GrayBeard
 
Iscritto dal: Nov 2020
Cittā: Milano
Messaggi: 237
Lo stesso autore ha creato anche una suite di test per md5, sempre in go, che conferma le basse prestazioni dell'M1 (o le alte di intel)

Codice:
git clone https://github.com/minio/md5-simd.git

Intel

Codice:
$ go test -bench .
go: downloading github.com/klauspost/cpuid/v2 v2.0.1
goos: darwin
goarch: amd64
pkg: github.com/minio/md5-simd
BenchmarkBlock8-12               	 9787387	       116 ns/op	4399.04 MB/s	       0 B/op	       0 allocs/op
BenchmarkAvx2/32KB-12            	    6834	    174311 ns/op	3007.77 MB/s	      27 B/op	       1 allocs/op
BenchmarkAvx2/64KB-12            	    4560	    270409 ns/op	3877.74 MB/s	      24 B/op	       1 allocs/op
BenchmarkAvx2/128KB-12           	    2389	    509543 ns/op	4115.75 MB/s	      40 B/op	       1 allocs/op
BenchmarkAvx2/256KB-12           	    1269	    938382 ns/op	4469.72 MB/s	      49 B/op	       1 allocs/op
BenchmarkAvx2/512KB-12           	     639	   1804207 ns/op	4649.47 MB/s	      70 B/op	       1 allocs/op
BenchmarkAvx2/1MB-12             	     327	   3688113 ns/op	4549.00 MB/s	      80 B/op	       1 allocs/op
BenchmarkAvx2/2MB-12             	     168	   7188908 ns/op	4667.53 MB/s	     121 B/op	       2 allocs/op
BenchmarkAvx2/4MB-12             	      80	  14173116 ns/op	4734.94 MB/s	     186 B/op	       2 allocs/op
BenchmarkAvx2/8MB-12             	      40	  28004621 ns/op	4792.70 MB/s	     245 B/op	       3 allocs/op
BenchmarkAvx2Parallel/32KB-12    	   22890	     50027 ns/op	10480.05 MB/s	     878 B/op	       1 allocs/op
BenchmarkAvx2Parallel/64KB-12    	   11052	    105716 ns/op	9918.78 MB/s	    1833 B/op	       1 allocs/op
BenchmarkAvx2Parallel/128KB-12   	    5358	    224879 ns/op	9325.67 MB/s	    3910 B/op	       1 allocs/op
BenchmarkAvx2Parallel/256KB-12   	    2037	    492387 ns/op	8518.31 MB/s	   11003 B/op	       2 allocs/op
BenchmarkAvx2Parallel/512KB-12   	    1033	   1003809 ns/op	8356.78 MB/s	   24697 B/op	       2 allocs/op
BenchmarkAvx2Parallel/1MB-12     	     571	   2040307 ns/op	8222.89 MB/s	   55674 B/op	       4 allocs/op
BenchmarkAvx2Parallel/2MB-12     	     278	   4191847 ns/op	8004.69 MB/s	  159479 B/op	       6 allocs/op
BenchmarkAvx2Parallel/4MB-12     	     133	   8578618 ns/op	7822.81 MB/s	  522514 B/op	      10 allocs/op
BenchmarkAvx2Parallel/8MB-12     	      67	  17591901 ns/op	7629.52 MB/s	 1788380 B/op	      19 allocs/op
BenchmarkAvx2SingleWriter/32KB-12         	   20214	     52832 ns/op	 620.23 MB/s	       0 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/64KB-12         	   12663	     93108 ns/op	 703.87 MB/s	       0 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/128KB-12        	    6224	    186308 ns/op	 703.52 MB/s	       0 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/256KB-12        	    3135	    370724 ns/op	 707.11 MB/s	       0 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/512KB-12        	    1638	    744731 ns/op	 704.00 MB/s	       1 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/1MB-12          	     795	   1502421 ns/op	 697.92 MB/s	       3 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/2MB-12          	     398	   3060617 ns/op	 685.21 MB/s	       8 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/4MB-12          	     198	   5949292 ns/op	 705.01 MB/s	      17 B/op	       0 allocs/op
BenchmarkAvx2SingleWriter/8MB-12          	     100	  11853021 ns/op	 707.72 MB/s	      33 B/op	       0 allocs/op
BenchmarkCryptoMd5/32KB-12                	   26750	     43651 ns/op	 750.69 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/64KB-12                	   13999	     85714 ns/op	 764.59 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/128KB-12               	    6686	    170823 ns/op	 767.30 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/256KB-12               	    3478	    340579 ns/op	 769.70 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/512KB-12               	    1761	    674578 ns/op	 777.21 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/1MB-12                 	     878	   1366682 ns/op	 767.24 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/2MB-12                 	     440	   2731088 ns/op	 767.88 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/32KB-12        	  211375	      5867 ns/op	5585.25 MB/s	       1 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/64KB-12        	  101443	     11975 ns/op	5472.93 MB/s	       7 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/128KB-12       	   49984	     25381 ns/op	5164.19 MB/s	      31 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/256KB-12       	   22651	     51448 ns/op	5095.35 MB/s	     138 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/512KB-12       	   11456	    103986 ns/op	5041.91 MB/s	     549 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/1MB-12         	    5665	    207654 ns/op	5049.64 MB/s	    2221 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/2MB-12         	    2847	    415918 ns/op	5042.23 MB/s	    8839 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/4MB-12         	    1462	    849553 ns/op	4937.07 MB/s	   34427 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/8MB-12         	     663	   1738690 ns/op	4824.67 MB/s	  151832 B/op	       0 allocs/op
PASS
ok  	github.com/minio/md5-simd	81.925s
M1

Codice:
$ go test -bench .
goos: darwin
goarch: arm64
pkg: github.com/minio/md5-simd
BenchmarkCryptoMd5/32KB-8      	   24114	     49553 ns/op	 661.27 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/64KB-8      	   12144	     98863 ns/op	 662.89 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/128KB-8     	    6067	    197472 ns/op	 663.75 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/256KB-8     	    3008	    395416 ns/op	 662.96 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/512KB-8     	    1502	    790660 ns/op	 663.10 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/1MB-8       	     751	   1595070 ns/op	 657.39 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5/2MB-8       	     374	   3201970 ns/op	 654.96 MB/s	       0 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/32KB-8         	  147962	      7875 ns/op	4161.19 MB/s	       1 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/64KB-8         	   75876	     15657 ns/op	4185.85 MB/s	       6 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/128KB-8        	   38042	     31383 ns/op	4176.47 MB/s	      27 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/256KB-8        	   18974	     62921 ns/op	4166.21 MB/s	     110 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/512KB-8        	    9556	    126414 ns/op	4147.40 MB/s	     438 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/1MB-8          	    3981	    251764 ns/op	4164.91 MB/s	    2107 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/2MB-8          	    2070	    502923 ns/op	4169.93 MB/s	    8105 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/4MB-8          	    1184	   1024731 ns/op	4093.08 MB/s	   28340 B/op	       0 allocs/op
BenchmarkCryptoMd5Parallel/8MB-8          	     520	   2048689 ns/op	4094.62 MB/s	  129056 B/op	       0 allocs/op
PASS
ok  	github.com/minio/md5-simd	34.443s
GrayBeard č offline   Rispondi citando il messaggio o parte di esso