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

19 Seconds

Average Run Time

35 Minutes, 11 Seconds

Test Dependencies

C/C++ Compiler Toolchain + CMake

Accolades

30k+ 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.1210002000300040005000
* 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 3 December 2023.
MeowHash x86_64 AES-NI11.2%wyhash11.2%FarmHash12810.7%t1ha2_atonce10.8%SHA3-25610.5%fasthash3210.9%FarmHash32 x86_64 AVX12.4%t1ha0_aes_avx2 x86_6411.8%Spooky3210.5%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 150 public results since 1 October 2022 with the latest data as of 1 December 2023.

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
70th
11
26.5 +/- 0.1
58th
4
29.2 +/- 1.2
Median
50th
30.8
41st
8
32.6 +/- 0.5
41st
3
32.8 +/- 0.1
37th
4
33.1 +/- 0.1
Low-Tier
25th
> 35.1
25th
3
35.1 +/- 0.9
21st
3
35.8 +/- 0.5
21st
7
36.1 +/- 1.6
9th
4
43.2 +/- 1.0
OpenBenchmarking.orgDistribution Of Public Results - Hash: FarmHash32 x86_64 AVX150 Results Range From 16 To 73 cycles/hash162126313641465156616671761122334455

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 / Max: 1

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 - 72 Benchmark Results

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

Debian 11 - 5.10.0-26-amd64 - Xfce 4.16

1 System - 72 Benchmark Results

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

Debian 11 - 5.10.0-26-amd64 - Xfce 4.16

1 System - 18 Benchmark Results

Intel Core i9-10850K - ASUS ROG MAXIMUS XII APEX - Intel Comet Lake PCH

Ubuntu 23.10 - 6.5.0-7-generic - GNOME Shell 45.0

2 Systems - 300 Benchmark Results

AMD Ryzen 7 7840U - PHX Ray_PEU - AMD Device 14e8

Ubuntu 23.04 - 6.2.0-24-generic - KDE Plasma 5.27.4

1 System - 254 Benchmark Results

AMD Ryzen 7 7840U - PHX Ray_PEU - AMD Device 14e8

Ubuntu 23.04 - 6.2.0-24-generic - KDE Plasma 5.27.4

Find More Test Results