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!

Mar 27, 2025 - 04:18
 0
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

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!