Benchmark CPUs Easily with the dkbench Docker image
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 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!

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
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!