I developed Benchmark::DKbench to use in my Cloud VM CPU comparisons. It's a great tool for general CPU benchmarking, scaling efficiently to hundreds of cores on large cloud VMs, but it may require some setup (a working Perl system and some basic libraries and CPAN modules).
To simplify the process and ensure a consistent benchmarking environment across different systems, I created a ready-to-use Docker image.
Quick Start
If you have Docker installed, you can be benchmarking in seconds:
docker run -it --rm dkechag/dkbench
Once inside the container:
dkbench
That's it!
Docker Image Details
- Docker Hub: hub.docker.com/r/dkechag/dkbench
- GitHub Source: github.com/dkechag/dkbench-docker
- Architectures:
amd64
,arm64
Sample Output
Output of base command on a c4a-highcpu-72
(Google Axion) VM:
--------------- Software ---------------
DKbench v3.00
Perl v5.36.0 (threads, multi)
OS: Debian GNU/Linux 12.10 (bookworm)
--------------- Hardware ---------------
CPU type: (aarch64)
CPUs: 72 (72 Cores)
----------------------------------------
DKbench single-thread run:
Benchmark Score Pass/Fail
Astro: 1108 Pass
BioPerl Monomers: 1090 Pass
CSS::Inliner: 1135 Pass
Crypt::JWT: 1201 Pass
DBI/SQL: 1385 Pass
DateTime: 1416 Pass
Digest: 925 Pass
Encode: 1302 Pass
HTML::FormatText: 1121 Pass
Imager: 1344 Pass
JSON::XS: 1227 Pass
Math::DCT: 1211 Pass
Math::MatrixReal: 937 Pass
Moose: 1138 Pass
Moose prove: 1354 Pass
Primes: 1071 Pass
Regex/Subst: 1073 Pass
Regex/Subst utf8: 1164 Pass
Text::Levenshtein: 1282 Pass
Overall Score: 1183
----------------------------------------
DKbench 72-thread run:
Benchmark Score Pass/Fail
Astro: 79101 Pass
BioPerl Monomers: 77803 Pass
CSS::Inliner: 77056 Pass
Crypt::JWT: 86454 Pass
DBI/SQL: 100131 Pass
DateTime: 101748 Pass
Digest: 66419 Pass
Encode: 89550 Pass
HTML::FormatText: 75762 Pass
Imager: 95798 Pass
JSON::XS: 88109 Pass
Math::DCT: 86547 Pass
Math::MatrixReal: 67094 Pass
Moose: 81572 Pass
Moose prove: 76786 Pass
Primes: 63421 Pass
Regex/Subst: 76028 Pass
Regex/Subst utf8: 83210 Pass
Text::Levenshtein: 91956 Pass
Overall Score: 82344
----------------------------------------
Multi thread Scalability:
Benchmark Multi perf xSingle Multi scalability %
Astro: 71.41 99
BioPerl Monomers: 71.36 99
CSS::Inliner: 67.88 94
Crypt::JWT: 71.98 100
DBI/SQL: 72.32 100
DateTime: 71.87 100
Digest: 71.78 100
Encode: 68.76 96
HTML::FormatText: 67.59 94
Imager: 71.27 99
JSON::XS: 71.81 100
Math::DCT: 71.48 99
Math::MatrixReal: 71.58 99
Moose: 71.67 100
Moose prove: 56.72 79
Primes: 59.23 82
Regex/Subst: 70.88 98
Regex/Subst utf8: 71.49 99
Text::Levenshtein: 71.70 100
----------------------------------------
DKbench summary (19 benchmarks, 72 threads):
Single: 1183
Multi: 82344
Multi/Single perf: 70.99x (67.59 - 72.32)
Multi scalability: 98.6% (94% - 100%)
Happy benchmarking!