SMHasher

SMHasher is a hash function tester supporting various algorithms and able to make use of AVX and other modern CPU instruction set extensions.

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

Project Site

github.com

Source Repository

github.com

Test Created

29 February 2020

Last Updated

1 October 2022

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

18 Seconds

Average Run Time

35 Minutes, 11 Seconds

Test Dependencies

C/C++ Compiler Toolchain + CMake

Accolades

40k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsSMHasher Popularity Statisticspts/smhasher2020.022020.042020.062020.082020.102020.122021.022021.042021.062021.082021.102021.122022.022022.042022.062022.082022.102022.122023.022023.042023.062023.082023.102023.122024.0211002200330044005500
* 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 18 March 2024.
MeowHash x86_64 AES-NI11.1%wyhash10.6%FarmHash12810.8%t1ha2_atonce10.7%SHA3-25610.7%fasthash3210.7%FarmHash32 x86_64 AVX12.6%t1ha0_aes_avx2 x86_6412.5%Spooky3210.1%Hash Option PopularityOpenBenchmarking.org

Revision History

pts/smhasher-1.1.0   [View Source]   Sat, 01 Oct 2022 14:49:46 GMT
Update against upstream. Fixes: https://github.com/phoronix-test-suite/phoronix-test-suite/issues/670

pts/smhasher-1.0.0   [View Source]   Sat, 29 Feb 2020 07:23:30 GMT
Add SMHasher hashing benchmark.

Suites Using This Test

Cryptography

C/C++ Compiler Tests


Performance Metrics

Analyze Test Configuration:

SMHasher 2022-08-22

Hash: FarmHash32 x86_64 AVX

OpenBenchmarking.org metrics for this test profile configuration based on 179 public results since 1 October 2022 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
cycles/hash (Average)
95th
3
20.9 +/- 0.1
82nd
3
25.9 +/- 2.2
Mid-Tier
75th
> 26.4
72nd
11
26.5 +/- 0.1
63rd
4
28.8 +/- 2.0
Median
50th
31.0
45th
8
32.6 +/- 0.5
44th
3
32.8 +/- 0.1
41st
4
33.1 +/- 0.1
26th
3
35.1 +/- 0.9
Low-Tier
25th
> 35.5
22nd
3
35.8 +/- 0.5
22nd
7
36.1 +/- 1.6
8th
4
43.2 +/- 1.0
OpenBenchmarking.orgDistribution Of Public Results - Hash: FarmHash32 x86_64 AVX179 Results Range From 16 To 73 cycles/hash162126313641465156616671761326395265

Based on OpenBenchmarking.org data, the selected test / test configuration (SMHasher 2022-08-22 - Hash: FarmHash32 x86_64 AVX) 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 BenchmarkHash: FarmHash32 x86_64 AVXRun-Time246810Min: 1 / Avg: 1.04 / Max: 2

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsHash: FarmHash32 x86_64 AVXDeviation246810Min: 0 / Avg: 0.16 / Max: 3

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE2 (SSE2)
Used by default on supported hardware.
 
MOVDQA MOVD PSRLDQ MOVDQU
SSE 4.2 (SSE4_2)
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
CRC32 POPCNT
Used by default on supported hardware.
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VZEROALL VBROADCASTSD VPERMILPD
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VPBROADCASTQ VEXTRACTI128 VPBROADCASTD VPBROADCASTW VPSLLVQ VPBROADCASTB VINSERTI128 VPERMQ
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
AESENC
Advanced Vector Extensions 512 (AVX512)
Used by default on supported hardware.
 
(ZMM REGISTER USE)
Vector AES (VAES)
Used by default on supported hardware.
Found on Intel processors since Ice Lake (2019).
Found on AMD processors since Zen 3 (2020).

 
VAESENC VAESDEC VAESENCLAST
FMA (FMA)
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

 
VFNMADD132SD VFMADD231SD VFMADD132SD VFNMADD213SD VFMSUB132SD VFMADD213SD
The test / benchmark does honor compiler flag changes.
Last automated analysis: 10 October 2022

This test profile binary relies on the shared libraries libm.so.6, libc.so.6.

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)

Recent Test Results

OpenBenchmarking.org Results Compare

1 System - 187 Benchmark Results

AMD Ryzen Threadripper PRO 7965WX 24-Cores - ASUS Pro WS WRX90E-SAGE SE - AMD Device 14a4

Debian 12 - 6.1.0-18-amd64 - X Server 1.21.1.7

1 System - 76 Benchmark Results

8 x Intel Xeon E5-2620 v4 - Xen HVM domU v4.13 - Intel 440FX 82441FX PMC

Debian 11 - 5.10.0-28-amd64 - GNOME Shell 3.38.6

1 System - 75 Benchmark Results

8 x Intel Xeon E5-2620 v4 - Xen HVM domU v4.13 - Intel 440FX 82441FX PMC

Debian 11 - 5.10.0-28-amd64 - GNOME Shell 3.38.6

1 System - 89 Benchmark Results

2 x Intel Xeon Gold 6240 - Dell 08JG8G - Intel Sky Lake-E DMI3 Registers

Ubuntu 22.04 - 5.15.0-92-generic - 1.3.238

1 System - 89 Benchmark Results

AMD EPYC 9354P 32-Core - Supermicro H13SSW - AMD Device 14a4

Ubuntu 22.04 - 5.15.0-92-generic - 1.3.238

1 System - 76 Benchmark Results

8 x Intel Xeon E5-2620 v4 - QEMU Standard PC - Intel 82G33

Debian 11 - 5.10.0-27-amd64 - GNOME Shell 3.38.6

1 System - 76 Benchmark Results

8 x Intel Xeon E5-2620 v4 - QEMU Standard PC - Intel 82G33

Debian 11 - 5.10.0-27-amd64 - GNOME Shell 3.38.6

8 Systems - 182 Benchmark Results

Intel Core i7-7700HQ - KBL Neptune_KLS - 16GB

Ubuntu 20.04 - 6.5.0-15-generic - X Server

7 Systems - 182 Benchmark Results

AMD Ryzen 5 7600X 6-Core - ASUS ROG CROSSHAIR X670E HERO - AMD Device 14d8

Ubuntu 22.04 - 6.0.0-060000rc7daily20221001-generic - GNOME Shell 42.4

6 Systems - 173 Benchmark Results

AMD Ryzen 5 3600 6-Core - BIOSTAR B550MX/E PRO - AMD Starship

Debian 12 - 6.5.0-0.deb12.4-amd64 - GCC 12.2.0

5 Systems - 173 Benchmark Results

AMD Ryzen 5 7600X 6-Core - ASUS ROG CROSSHAIR X670E HERO - AMD Device 14d8

Ubuntu 22.04 - 6.0.0-060000rc7daily20221001-generic - GNOME Shell 42.4

1 System - 18 Benchmark Results

AMD EPYC 7443P 24-Core - Dell 0J91V2 - AMD Starship

Debian 12 - 6.1.0-17-amd64 - GCC 12.2.0

1 System - 89 Benchmark Results

8 x Intel Xeon E5-2620 v4 - QEMU Standard PC - Intel 82G33

Ubuntu 22.04 - 5.15.0-92-generic - GNOME Shell 42.9

1 System - 494 Benchmark Results

1 System - 89 Benchmark Results

Intel Pentium Gold 8505 - (1744NP12V10R003S BIOS) - Intel Alder Lake PCH

Ubuntu 23.10 - 6.5.0-14-generic - GNOME Shell 45.2

Most Popular Test Results

OpenBenchmarking.org Results Compare

2 Systems - 361 Benchmark Results

AMD Ryzen Threadripper 3960X 24-Core - MSI Creator TRX40 - AMD Starship

Ubuntu 22.04 - 5.19.0-051900rc7-generic - GNOME Shell 42.2

2 Systems - 334 Benchmark Results

2 x AMD EPYC 7601 32-Core - Dell 02MJ3T - AMD 17h

Ubuntu 22.04 - 5.15.0-40-generic - GNOME Shell 42.2

2 Systems - 135 Benchmark Results

2 x AMD EPYC 9654 96-Core - AMD Titanite_4G - AMD Device 14a4

Ubuntu 22.10 - 6.1.0-phx - GNOME Shell 43.0

2 Systems - 343 Benchmark Results

2 x Intel Xeon Platinum 8280 - GIGABYTE MD61-SC2-00 v01000100 - Intel Sky Lake-E DMI3 Registers

Ubuntu 21.04 - 5.11.0-49-generic - GNOME Shell 3.38.4

3 Systems - 270 Benchmark Results

AMD EPYC 7F32 8-Core - ASRockRack EPYCD8 - AMD Starship

Debian 11 - 5.10.0-10-amd64 - GNOME Shell 3.38.6

3 Systems - 184 Benchmark Results

AMD Ryzen 9 3900XT 12-Core - MSI MEG X570 GODLIKE - AMD Starship

Ubuntu 22.04 - 5.15.0-47-generic - GNOME Shell 42.2

2 Systems - 334 Benchmark Results

2 x AMD EPYC 7601 32-Core - Dell 02MJ3T - AMD 17h

Ubuntu 22.04 - 5.15.0-40-generic - GNOME Shell 42.2

4 Systems - 145 Benchmark Results

AMD Ryzen 7 5800X3D 8-Core - ASUS ROG CROSSHAIR VIII HERO - AMD Starship

Ubuntu 22.04 - 5.15.47+prerelease3723 - GNOME Shell 42.2

2 Systems - 270 Benchmark Results

AMD EPYC 7F32 8-Core - ASRockRack EPYCD8 - AMD Starship

Debian 11 - 5.10.0-10-amd64 - GNOME Shell 3.38.6

5 Systems - 239 Benchmark Results

AMD Ryzen 5 5600H - AZW SER - AMD Renoir

ManjaroLinux 22.0.0 - 5.15.74-3-MANJARO - KDE Plasma 5.25.5

2 Systems - 303 Benchmark Results

AMD Ryzen 9 7900X 12-Core - ASRock X670E PG Lightning - AMD Device 14d8

Ubuntu 22.10 - 5.19.0-23-generic - GNOME Shell 43.0

3 Systems - 188 Benchmark Results

AMD Ryzen 5 5600H - AZW SER - AMD Renoir

ManjaroLinux 22.0.0 - 5.15.74-3-MANJARO - KDE Plasma 5.25.5

Find More Test Results