diff --git a/PERFORMANCE.md b/PERFORMANCE.md index a6396bc..07f2f4d 100644 --- a/PERFORMANCE.md +++ b/PERFORMANCE.md @@ -161,78 +161,78 @@ goarch: x86 | Command | Mean [s] | Min [s] | Max [s] | Relative | |:---|---:|---:|---:|---:| - | `BLAKE2B256` | 0.063 ± 0.015 | 0.050 | 0.114 | 1.59 ± 0.47 | - | `BLAKE2B512` | 0.072 ± 0.031 | 0.049 | 0.162 | 1.81 ± 0.84 | - | `BLAKE2S128` | 0.043 ± 0.015 | 0.035 | 0.098 | 1.10 ± 0.44 | - | `BLAKE2S256` | 0.051 ± 0.027 | 0.035 | 0.180 | 1.30 ± 0.72 | - | `BLAKE3` | 0.067 ± 0.023 | 0.048 | 0.124 | 1.70 ± 0.65 | - | `BMW` | 0.145 ± 0.192 | 0.070 | 0.998 | 3.67 ± 4.90 | - | `CubeHash256` | 0.126 ± 0.010 | 0.116 | 0.152 | 3.19 ± 0.61 | - | `CubeHash512` | 0.172 ± 0.023 | 0.151 | 0.227 | 4.36 ± 0.95 | - | `ECHO224` | 0.181 ± 0.061 | 0.157 | 0.405 | 4.60 ± 1.74 | - | `ECHO256` | 0.187 ± 0.043 | 0.159 | 0.329 | 4.73 ± 1.37 | - | `ECHO384` | 0.321 ± 0.053 | 0.264 | 0.425 | 8.15 ± 1.96 | - | `ECHO512` | 0.288 ± 0.021 | 0.269 | 0.327 | 7.31 ± 1.37 | - | `ESCH256` | 0.128 ± 0.020 | 0.105 | 0.175 | 3.24 ± 0.76 | - | `ESCH384` | 0.161 ± 0.022 | 0.144 | 0.214 | 4.07 ± 0.89 | - | `Fugue224` | 0.091 ± 0.027 | 0.077 | 0.180 | 2.32 ± 0.80 | - | `Fugue256` | 0.081 ± 0.004 | 0.077 | 0.101 | 2.04 ± 0.37 | - | `Fugue384` | 0.104 ± 0.007 | 0.101 | 0.129 | 2.65 ± 0.49 | - | `Fugue512` | 0.128 ± 0.007 | 0.124 | 0.151 | 3.25 ± 0.59 | - | `GOST94` | 0.827 ± 0.140 | 0.661 | 1.054 | 20.97 ± 5.07 | - | `Groestl` | 0.147 ± 0.007 | 0.140 | 0.169 | 3.71 ± 0.67 | - | `Hamsi224` | 0.107 ± 0.031 | 0.084 | 0.213 | 2.72 ± 0.91 | - | `Hamsi256` | 0.231 ± 0.206 | 0.084 | 0.820 | 5.86 ± 5.31 | - | `Hamsi384` | 0.238 ± 0.085 | 0.159 | 0.434 | 6.04 ± 2.39 | - | `Hamsi512` | 0.685 ± 0.311 | 0.388 | 1.312 | 17.37 ± 8.44 | - | `JH` | 0.382 ± 0.032 | 0.362 | 0.464 | 9.68 ± 1.86 | - | `Keccak256` | 0.076 ± 0.010 | 0.068 | 0.109 | 1.93 ± 0.42 | - | `Keccak512` | 0.115 ± 0.010 | 0.104 | 0.139 | 2.92 ± 0.56 | - | `Kupyna256` | 1.947 ± 1.069 | 0.975 | 4.077 | 49.34 ± 28.41 | - | `Kupyna384` | 0.664 ± 0.076 | 0.566 | 0.779 | 16.82 ± 3.49 | - | `Kupyna512` | 0.696 ± 0.162 | 0.566 | 1.019 | 17.64 ± 5.11 | - | `LSH224` | 0.057 ± 0.005 | 0.052 | 0.071 | 1.43 ± 0.28 | - | `LSH256` | 0.061 ± 0.012 | 0.052 | 0.108 | 1.54 ± 0.40 | - | `LSH384` | 0.059 ± 0.008 | 0.052 | 0.087 | 1.51 ± 0.34 | - | `LSH512` | 0.125 ± 0.017 | 0.112 | 0.190 | 3.16 ± 0.69 | - | `Luffa224` | 0.217 ± 0.214 | 0.054 | 0.797 | 5.50 ± 5.51 | - | `Luffa256` | 0.086 ± 0.044 | 0.054 | 0.209 | 2.18 ± 1.19 | - | `Luffa384` | 0.080 ± 0.025 | 0.062 | 0.150 | 2.03 ± 0.73 | - | `Luffa512` | 0.083 ± 0.018 | 0.071 | 0.162 | 2.09 ± 0.59 | - | `MD4` | 0.045 ± 0.020 | 0.036 | 0.175 | 1.15 ± 0.55 | - | `MD5` | 0.039 ± 0.007 | 0.031 | 0.056 | 1.00 | - | `RMD128` | 0.055 ± 0.015 | 0.045 | 0.128 | 1.39 ± 0.45 | - | `RMD160` | 0.057 ± 0.006 | 0.050 | 0.071 | 1.44 ± 0.29 | - | `RMD256` | 0.055 ± 0.009 | 0.045 | 0.093 | 1.40 ± 0.33 | - | `SHA1` | 0.041 ± 0.007 | 0.032 | 0.054 | 1.03 ± 0.24 | - | `SHA224` | 0.055 ± 0.025 | 0.039 | 0.168 | 1.39 ± 0.68 | - | `SHA256` | 0.059 ± 0.030 | 0.039 | 0.175 | 1.50 ± 0.80 | - | `SHA3-224` | 0.192 ± 0.196 | 0.066 | 0.824 | 4.86 ± 5.05 | - | `SHA3-256` | 0.081 ± 0.024 | 0.069 | 0.201 | 2.04 ± 0.71 | - | `SHA3-384` | 0.149 ± 0.105 | 0.082 | 0.516 | 3.77 ± 2.73 | - | `SHA3-512` | 0.347 ± 0.223 | 0.140 | 0.840 | 8.80 ± 5.85 | - | `SHA384` | 0.173 ± 0.237 | 0.075 | 0.976 | 4.40 ± 6.05 | - | `SHA512-256` | 0.094 ± 0.025 | 0.079 | 0.194 | 2.39 ± 0.75 | - | `SHA512` | 0.433 ± 0.260 | 0.077 | 0.938 | 10.97 ± 6.85 | - | `SIMD224` | 0.616 ± 0.518 | 0.122 | 1.453 | 15.62 ± 13.41 | - | `SIMD256` | 0.228 ± 0.129 | 0.112 | 0.488 | 5.78 ± 3.41 | - | `SIMD384` | 0.141 ± 0.007 | 0.135 | 0.158 | 3.58 ± 0.65 | - | `SIMD512` | 0.157 ± 0.034 | 0.134 | 0.251 | 3.98 ± 1.11 | - | `SM3` | 0.055 ± 0.018 | 0.040 | 0.118 | 1.38 ± 0.51 | - | `Shavite224` | 0.073 ± 0.004 | 0.070 | 0.088 | 1.84 ± 0.34 | - | `Shavite256` | 0.074 ± 0.008 | 0.070 | 0.112 | 1.87 ± 0.38 | - | `Shavite384` | 0.097 ± 0.001 | 0.095 | 0.102 | 2.46 ± 0.43 | - | `Shavite512` | 0.098 ± 0.004 | 0.095 | 0.114 | 2.49 ± 0.44 | - | `SipHash128` | 0.144 ± 0.224 | 0.035 | 1.149 | 3.64 ± 5.72 | - | `SipHash64` | 0.242 ± 0.267 | 0.040 | 0.919 | 6.13 ± 6.85 | - | `Skein256` | 0.130 ± 0.083 | 0.066 | 0.317 | 3.30 ± 2.18 | - | `Skein512` | 0.089 ± 0.030 | 0.065 | 0.191 | 2.26 ± 0.86 | - | `Streebog256` | 0.816 ± 0.521 | 0.573 | 2.243 | 20.69 ± 13.68 | - | `Streebog512` | 0.689 ± 0.267 | 0.570 | 1.434 | 17.47 ± 7.41 | - | `Tiger2` | 0.110 ± 0.169 | 0.048 | 0.888 | 2.79 ± 4.30 | - | `Tiger` | 0.104 ± 0.087 | 0.051 | 0.333 | 2.63 ± 2.25 | - | `Whirlpool` | 0.301 ± 0.007 | 0.295 | 0.315 | 7.62 ± 1.33 | - | `Xoodyak` | 0.118 ± 0.054 | 0.074 | 0.259 | 2.99 ± 1.45 | + | `BLAKE2B256` | 0.054 ± 0.005 | 0.051 | 0.072 | 1.40 ± 0.22 | + | `BLAKE2B512` | 0.055 ± 0.006 | 0.050 | 0.071 | 1.43 ± 0.24 | + | `BLAKE2S128` | 0.040 ± 0.005 | 0.036 | 0.055 | 1.05 ± 0.19 | + | `BLAKE2S256` | 0.042 ± 0.006 | 0.036 | 0.065 | 1.08 ± 0.21 | + | `BLAKE3` | 0.050 ± 0.005 | 0.047 | 0.075 | 1.31 ± 0.22 | + | `BMW` | 0.073 ± 0.004 | 0.070 | 0.091 | 1.89 ± 0.26 | + | `CubeHash256` | 0.121 ± 0.005 | 0.117 | 0.135 | 3.13 ± 0.43 | + | `CubeHash512` | 0.153 ± 0.006 | 0.149 | 0.174 | 3.96 ± 0.54 | + | `ECHO224` | 0.158 ± 0.003 | 0.156 | 0.169 | 4.10 ± 0.54 | + | `ECHO256` | 0.160 ± 0.006 | 0.157 | 0.179 | 4.14 ± 0.56 | + | `ECHO384` | 0.266 ± 0.004 | 0.263 | 0.278 | 6.90 ± 0.91 | + | `ECHO512` | 0.266 ± 0.003 | 0.264 | 0.273 | 6.89 ± 0.90 | + | `ESCH256` | 0.107 ± 0.003 | 0.105 | 0.116 | 2.77 ± 0.37 | + | `ESCH384` | 0.148 ± 0.003 | 0.145 | 0.155 | 3.83 ± 0.51 | + | `Fugue224` | 0.080 ± 0.008 | 0.077 | 0.122 | 2.07 ± 0.34 | + | `Fugue256` | 0.080 ± 0.003 | 0.077 | 0.091 | 2.06 ± 0.28 | + | `Fugue384` | 0.104 ± 0.007 | 0.101 | 0.133 | 2.70 ± 0.40 | + | `Fugue512` | 0.126 ± 0.002 | 0.124 | 0.132 | 3.27 ± 0.43 | + | `GOST94` | 0.690 ± 0.056 | 0.658 | 0.817 | 17.86 ± 2.75 | + | `Groestl` | 0.151 ± 0.030 | 0.140 | 0.274 | 3.91 ± 0.94 | + | `Hamsi224` | 0.086 ± 0.003 | 0.084 | 0.099 | 2.24 ± 0.31 | + | `Hamsi256` | 0.087 ± 0.004 | 0.084 | 0.100 | 2.25 ± 0.31 | + | `Hamsi384` | 0.164 ± 0.005 | 0.160 | 0.182 | 4.24 ± 0.57 | + | `Hamsi512` | 0.163 ± 0.002 | 0.160 | 0.165 | 4.22 ± 0.55 | + | `JH` | 0.366 ± 0.007 | 0.361 | 0.385 | 9.48 ± 1.25 | + | `Keccak256` | 0.072 ± 0.005 | 0.069 | 0.094 | 1.87 ± 0.28 | + | `Keccak512` | 0.109 ± 0.007 | 0.105 | 0.129 | 2.83 ± 0.41 | + | `Kupyna256` | 0.887 ± 0.012 | 0.873 | 0.914 | 22.98 ± 3.02 | + | `Kupyna384` | 0.569 ± 0.022 | 0.556 | 0.614 | 14.75 ± 2.01 | + | `Kupyna512` | 0.566 ± 0.008 | 0.556 | 0.581 | 14.65 ± 1.93 | + | `LSH224` | 0.055 ± 0.005 | 0.052 | 0.075 | 1.43 ± 0.22 | + | `LSH256` | 0.057 ± 0.005 | 0.052 | 0.071 | 1.47 ± 0.23 | + | `LSH384` | 0.058 ± 0.007 | 0.052 | 0.084 | 1.50 ± 0.27 | + | `LSH512` | 0.123 ± 0.010 | 0.112 | 0.148 | 3.18 ± 0.49 | + | `Luffa224` | 0.057 ± 0.004 | 0.054 | 0.078 | 1.47 ± 0.22 | + | `Luffa256` | 0.056 ± 0.004 | 0.054 | 0.075 | 1.46 ± 0.22 | + | `Luffa384` | 0.069 ± 0.010 | 0.062 | 0.109 | 1.78 ± 0.34 | + | `Luffa512` | 0.075 ± 0.005 | 0.072 | 0.099 | 1.94 ± 0.28 | + | `MD4` | 0.043 ± 0.007 | 0.037 | 0.065 | 1.13 ± 0.23 | + | `MD5` | 0.041 ± 0.007 | 0.032 | 0.065 | 1.06 ± 0.23 | + | `RMD128` | 0.051 ± 0.007 | 0.046 | 0.070 | 1.32 ± 0.24 | + | `RMD160` | 0.054 ± 0.006 | 0.051 | 0.083 | 1.41 ± 0.25 | + | `RMD256` | 0.050 ± 0.005 | 0.046 | 0.063 | 1.29 ± 0.21 | + | `SHA1` | 0.041 ± 0.007 | 0.032 | 0.067 | 1.06 ± 0.24 | + | `SHA224` | 0.047 ± 0.007 | 0.039 | 0.078 | 1.21 ± 0.25 | + | `SHA256` | 0.055 ± 0.017 | 0.039 | 0.095 | 1.43 ± 0.47 | + | `SHA3-224` | 0.070 ± 0.004 | 0.067 | 0.083 | 1.81 ± 0.26 | + | `SHA3-256` | 0.075 ± 0.009 | 0.069 | 0.108 | 1.94 ± 0.35 | + | `SHA3-384` | 0.095 ± 0.024 | 0.082 | 0.176 | 2.45 ± 0.71 | + | `SHA3-512` | 0.108 ± 0.004 | 0.105 | 0.119 | 2.81 ± 0.38 | + | `SHA384` | 0.109 ± 0.027 | 0.073 | 0.198 | 2.83 ± 0.80 | + | `SHA512-256` | 0.076 ± 0.005 | 0.072 | 0.090 | 1.96 ± 0.28 | + | `SHA512` | 0.075 ± 0.004 | 0.072 | 0.088 | 1.94 ± 0.27 | + | `SIMD224` | 0.114 ± 0.007 | 0.111 | 0.146 | 2.95 ± 0.43 | + | `SIMD256` | 0.115 ± 0.006 | 0.112 | 0.138 | 2.98 ± 0.42 | + | `SIMD384` | 0.138 ± 0.004 | 0.135 | 0.147 | 3.57 ± 0.48 | + | `SIMD512` | 0.137 ± 0.003 | 0.135 | 0.146 | 3.55 ± 0.47 | + | `SM3` | 0.045 ± 0.005 | 0.040 | 0.060 | 1.17 ± 0.21 | + | `Shavite224` | 0.072 ± 0.002 | 0.070 | 0.082 | 1.88 ± 0.25 | + | `Shavite256` | 0.073 ± 0.003 | 0.070 | 0.083 | 1.88 ± 0.25 | + | `Shavite384` | 0.099 ± 0.006 | 0.096 | 0.124 | 2.56 ± 0.36 | + | `Shavite512` | 0.099 ± 0.004 | 0.096 | 0.114 | 2.56 ± 0.35 | + | `SipHash128` | 0.039 ± 0.005 | 0.032 | 0.054 | 1.00 | + | `SipHash64` | 0.040 ± 0.006 | 0.032 | 0.072 | 1.02 ± 0.21 | + | `Skein256` | 0.068 ± 0.005 | 0.065 | 0.091 | 1.76 ± 0.27 | + | `Skein512` | 0.069 ± 0.007 | 0.065 | 0.101 | 1.78 ± 0.30 | + | `Streebog256` | 0.575 ± 0.004 | 0.570 | 0.581 | 14.88 ± 1.95 | + | `Streebog512` | 0.573 ± 0.004 | 0.569 | 0.582 | 14.83 ± 1.94 | + | `Tiger2` | 0.052 ± 0.005 | 0.049 | 0.075 | 1.35 ± 0.23 | + | `Tiger` | 0.052 ± 0.005 | 0.048 | 0.067 | 1.35 ± 0.22 | + | `Whirlpool` | 0.297 ± 0.006 | 0.292 | 0.311 | 7.68 ± 1.02 | + | `Xoodyak` | 0.079 ± 0.008 | 0.075 | 0.115 | 2.04 ± 0.33 | - **Message Authentication Code:**