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

Benchmark Dashboard #25

Closed
Nugine opened this issue Nov 29, 2022 · 2 comments
Closed

Benchmark Dashboard #25

Nugine opened this issue Nov 29, 2022 · 2 comments

Comments

@Nugine
Copy link
Owner

Nugine commented Nov 29, 2022

Updated by GitHub Action automatically

Summary 2023-01-13

  • base64-simd is the fastest base64 crate.
  • hex-simd is the fastest hex crate.
@Nugine
Copy link
Owner Author

Nugine commented Nov 29, 2022

Benchmark Results

2023-04-02 01:53:54+00:00

dynamic

base64-check (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 1.966 4.551 5.704 11.808 15.770 16.774 17.729

base64-decode (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 1.097 2.643 3.148 6.648 9.515 10.477 11.010
radix64/auto 0.864 1.803 2.236 5.731 8.086 9.520 10.261
base64/fallback 0.524 0.822 0.919 1.170 1.258 1.279 1.289
base64ct/fallback 0.235 0.309 0.372 0.444 0.467 0.471 0.480
data-encoding/fallback 0.494 0.650 0.829 1.023 1.080 1.104 1.112
based64/fallback 0.941 0.957 1.042 1.083 1.095 1.096 1.098

base64-encode (GiB/s)

16 32 64 256 1024 4096 65536
base64-simd/auto 1.347 1.312 2.748 6.174 7.686 9.316 9.216
radix64/auto 0.679 1.476 1.760 2.975 3.567 3.850 3.863
base64/fallback 0.491 0.787 0.974 1.352 1.496 1.531 1.538
base64ct/fallback 0.336 0.577 0.650 0.810 0.862 0.876 0.881
data-encoding/fallback 0.485 0.717 0.975 1.339 1.483 1.506 1.531
based64/fallback 0.967 1.011 1.160 1.235 1.253 1.255 1.258

base64-forgiving-decode (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 0.702 1.274 2.099 4.616 6.757 7.299 7.507

hex-check (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 3.784 5.772 8.694 20.286 26.439 23.783
faster-hex/auto 2.479 4.329 6.200 8.904 10.029 10.129

hex-decode (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 3.425 5.937 9.097 12.775 15.283 15.543
faster-hex/auto 0.877 1.366 3.629 5.374 5.755 6.196
base16ct/fallback 0.515 2.166 2.506 3.093 3.281 3.310
faster-hex/fallback 0.859 0.923 0.779 0.911 0.959 0.967
hex/fallback 0.602 0.617 0.644 0.656 0.660 0.293
base16/fallback 0.903 1.012 1.060 1.060 1.099 1.110
data-encoding/fallback 0.591 0.770 0.910 1.017 1.088 1.106

hex-encode (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 3.711 5.933 9.704 14.595 14.226 14.389
faster-hex/auto 2.117 3.869 5.942 10.198 12.705 12.623
base16ct/fallback 1.722 2.149 2.431 2.684 2.697 2.761
faster-hex/fallback 0.789 0.852 0.889 0.887 0.917 0.925
hex/fallback 0.607 0.753 0.773 0.767 0.787 0.793
base16/fallback 0.870 0.979 1.041 1.063 1.100 1.107
data-encoding/fallback 0.658 0.822 0.947 1.019 1.080 1.105

base32-check (GiB/s)

32 56 104 416 1640 6560 104864
base32-simd/auto 2.013 3.663 7.861 12.988 22.445 25.834 25.830

base32-decode (GiB/s)

32 56 104 416 1640 6560 104864
base32-simd/auto 1.220 2.215 2.642 6.420 11.225 12.259 13.606
base32ct/fallback 0.759 0.745 0.760 0.826 0.809 0.830 0.831
data-encoding/fallback 0.564 0.691 0.827 1.080 1.133 1.162 1.170

base32-encode (GiB/s)

16 32 64 256 1024 4096 65536
base32-simd/auto 0.866 1.015 2.191 6.047 8.044 9.254 8.998
base32ct/fallback 0.388 0.464 0.523 0.784 0.811 0.838 0.841
data-encoding/fallback 0.401 0.635 0.787 1.068 1.148 1.179 1.194

uuid-format (ns)

simple hyphenated
uuid-simd/auto 28.051 35.295
uuid/fallback 32.824 35.861

uuid-parse (ns)

simple hyphenated guid urn
uuid-simd/auto 17.642 20.797 20.194 19.790
uuid/fallback 33.046 34.116 34.738 40.509

ascii-check (GiB/s)

3 4 8 16 31 32 64 256 1024 4096 1000000
unicode-simd/auto 0.583 0.593 1.920 3.648 6.072 6.269 10.336 27.139 60.570 66.815 36.827
encoding_rs/auto 0.514 0.618 1.590 2.873 2.973 5.325 9.423 21.852 33.284 32.040 27.034
std/fallback 0.596 0.655 3.180 6.360 9.586 9.890 13.692 17.974 15.397 19.189 20.237

static-unstable

base64-check (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 1.648 4.441 5.548 11.990 17.641 19.489 19.144

base64-decode (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 0.926 2.067 2.386 6.174 7.498 10.159 10.182
radix64/auto 0.755 1.017 1.137 1.351 1.405 1.457 1.447
base64/fallback 0.509 0.749 0.927 1.167 1.310 1.294 1.293
base64ct/fallback 0.195 0.252 0.303 0.347 0.374 0.366 0.377
data-encoding/fallback 0.429 0.606 0.822 1.156 1.368 1.349 1.312
based64/fallback 0.970 1.027 1.071 1.150 1.152 1.161 1.158

base64-encode (GiB/s)

16 32 64 256 1024 4096 65536
base64-simd/auto 1.090 1.154 1.747 4.380 5.114 6.458 7.086
radix64/auto 0.532 0.792 0.909 1.125 1.199 1.209 1.230
base64/fallback 0.538 0.818 0.938 1.114 1.242 1.235 1.277
base64ct/fallback 0.262 0.347 0.402 1.000 1.629 1.995 2.062
data-encoding/fallback 0.362 0.555 0.766 1.085 1.197 1.245 1.248
based64/fallback 0.735 0.824 0.926 0.975 0.982 0.981 1.021

base64-forgiving-decode (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 0.615 1.245 1.732 3.999 5.586 5.995 6.213

hex-check (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 4.618 6.189 9.688 15.267 20.988 18.893
faster-hex/auto 3.481 5.351 6.661 8.031 8.520 9.150

hex-decode (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 3.001 4.171 6.261 8.677 12.033 11.757
base16ct/fallback 1.110 1.651 2.742 3.688 4.031 4.030
faster-hex/fallback 0.633 0.710 0.686 0.788 0.811 0.818
hex/fallback 0.525 0.582 0.588 0.575 0.575 0.258
base16/fallback 0.962 1.043 1.086 1.189 1.259 1.308
data-encoding/fallback 0.589 0.888 1.102 1.307 1.435 1.504

hex-encode (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 3.639 5.211 7.122 9.201 9.282 9.191
base16ct/fallback 1.636 2.745 3.444 4.179 4.429 4.279
faster-hex/fallback 0.656 0.787 0.844 0.926 0.906 0.942
hex/fallback 0.526 0.553 0.550 0.628 0.658 0.660
base16/fallback 0.681 0.809 0.868 0.861 0.924 0.928
data-encoding/fallback 0.538 0.795 0.848 0.975 0.995 0.972

base32-check (GiB/s)

32 56 104 416 1640 6560 104864
base32-simd/auto 1.747 3.454 7.638 11.920 17.661 20.954 19.187

base32-decode (GiB/s)

32 56 104 416 1640 6560 104864
base32-simd/auto 1.146 2.034 2.300 5.010 7.858 8.754 9.478
base32ct/fallback 0.632 0.625 0.640 0.698 0.695 0.692 0.690
data-encoding/fallback 0.509 0.669 0.805 1.068 1.178 1.155 1.215

base32-encode (GiB/s)

16 32 64 256 1024 4096 65536
base32-simd/auto 0.700 0.841 1.551 4.037 4.677 5.995 6.022
base32ct/fallback 0.404 0.474 0.534 0.996 1.027 1.096 1.093
data-encoding/fallback 0.338 0.489 0.628 0.842 0.900 0.937 0.954

uuid-format (ns)

simple hyphenated
uuid-simd/auto 3.264 5.940
uuid/fallback 24.505 25.350

uuid-parse (ns)

simple hyphenated guid urn
uuid-simd/auto 5.667 7.930 9.496 9.297
uuid/fallback 32.710 34.556 35.661 37.106

ascii-check (GiB/s)

3 4 8 16 31 32 64 256 1024 4096 1000000
unicode-simd/auto 0.538 0.620 2.306 3.686 6.512 6.151 11.945 29.613 48.340 49.069 25.107
encoding_rs/auto 0.490 0.597 0.949 2.342 2.278 4.336 9.230 25.510 41.007 41.228 25.266
std/fallback 0.358 0.455 2.318 4.517 7.107 7.475 10.235 13.291 13.468 17.447 16.524

fallback

base64-check (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 1.852 2.004 2.090 2.104 2.258 2.319 2.170

base64-decode (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 1.022 1.219 1.366 1.464 1.479 1.499 1.508
radix64/auto 0.622 0.798 0.875 0.957 1.045 1.053 1.058
base64/fallback 0.439 0.685 0.765 0.974 1.048 1.059 1.073
base64ct/fallback 0.201 0.257 0.314 0.372 0.390 0.391 0.394
data-encoding/fallback 0.409 0.545 0.690 0.852 0.900 0.919 0.918
based64/fallback 0.785 0.850 0.860 0.879 0.881 0.872 0.850

base64-encode (GiB/s)

16 32 64 256 1024 4096 65536
base64-simd/auto 0.820 1.058 1.158 1.281 1.299 1.302 1.327
radix64/auto 0.523 0.828 0.926 1.169 1.248 1.264 1.269
base64/fallback 0.428 0.676 0.769 0.962 1.026 0.991 1.047
base64ct/fallback 0.274 0.446 0.513 0.682 0.728 0.708 0.695
data-encoding/fallback 0.414 0.610 0.825 1.001 1.235 1.193 1.197
based64/fallback 0.787 0.870 0.931 1.025 1.044 1.046 1.047

base64-forgiving-decode (GiB/s)

24 44 88 344 1368 5464 87384
base64-simd/auto 0.683 0.846 1.100 1.274 1.281 1.330 1.317

hex-check (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 4.166 6.198 8.024 9.892 10.480 10.797
faster-hex/auto 1.279 1.397 1.470 1.417 1.509 1.538

hex-decode (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 2.206 3.040 3.913 4.837 5.171 5.261
base16ct/fallback 0.434 1.827 2.245 2.648 2.786 2.771
faster-hex/fallback 0.688 0.775 0.649 0.698 0.712 0.726
hex/fallback 0.461 0.489 0.506 0.509 0.502 0.243
base16/fallback 1.072 1.249 1.358 1.310 1.418 1.419
data-encoding/fallback 0.477 0.641 0.759 0.867 0.932 0.951

hex-encode (GiB/s)

16 32 64 256 1024 4096
hex-simd/auto 2.422 3.901 5.066 6.010 6.443 6.369
base16ct/fallback 1.365 1.739 1.981 2.224 2.259 2.298
faster-hex/fallback 0.735 0.827 0.877 0.851 0.930 0.941
hex/fallback 0.595 0.631 0.651 0.653 0.660 0.662
base16/fallback 0.636 0.697 0.746 0.739 0.766 0.775
data-encoding/fallback 0.460 0.706 0.805 0.855 0.916 0.925

base32-check (GiB/s)

32 56 104 416 1640 6560 104864
base32-simd/auto 1.857 1.730 1.970 2.236 2.261 2.158 2.285

base32-decode (GiB/s)

32 56 104 416 1640 6560 104864
base32-simd/auto 1.108 1.198 1.285 1.396 1.427 1.445 1.450
base32ct/fallback 0.637 0.629 0.597 0.688 0.686 0.691 0.693
data-encoding/fallback 0.475 0.581 0.691 0.807 0.943 0.968 0.974

base32-encode (GiB/s)

16 32 64 256 1024 4096 65536
base32-simd/auto 0.760 0.870 0.963 1.028 1.036 0.982 1.049
base32ct/fallback 0.335 0.391 0.438 0.660 0.680 0.699 0.701
data-encoding/fallback 0.344 0.530 0.636 0.889 0.957 0.972 1.005

uuid-format (ns)

simple hyphenated
uuid-simd/auto 30.986 42.209
uuid/fallback 39.237 42.206

uuid-parse (ns)

simple hyphenated guid urn
uuid-simd/auto 24.124 41.273 40.890 41.147
uuid/fallback 38.692 40.056 40.705 42.766

ascii-check (GiB/s)

3 4 8 16 31 32 64 256 1024 4096 1000000
unicode-simd/auto 0.633 0.774 2.652 5.298 7.994 8.192 11.410 26.920 33.692 36.228 31.548
encoding_rs/auto 0.418 0.527 1.160 2.310 2.565 4.637 7.831 19.188 28.380 27.595 23.354
std/fallback 0.383 0.477 2.648 5.296 7.981 8.207 11.382 14.967 10.911 16.050 17.303

Environment

COMMIT: cf6cc4a

Rust:
rustc 1.70.0-nightly (0599b6b93 2023-04-01)
binary: rustc
commit-hash: 0599b6b931816ab46ab79072189075f543931cbd
commit-date: 2023-04-01
host: x86_64-unknown-linux-gnu
release: 1.70.0-nightly
LLVM version: 16.0.0

System:
Linux fv-az1028-712 5.15.0-1034-azure #41-Ubuntu SMP Fri Feb 10 19:59:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

CPU:
model name : Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz

Repository owner locked and limited conversation to collaborators Nov 29, 2022
@Nugine Nugine pinned this issue Nov 29, 2022
Repository owner unlocked this conversation Nov 29, 2022
@Nugine
Copy link
Owner Author

Nugine commented Apr 4, 2023

@Nugine Nugine closed this as completed Apr 4, 2023
@Nugine Nugine unpinned this issue Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant