use strict; use Benchmark; sub use_pack {print STDERR unpack "H6",pack "C3",255,0,100;} sub use_printf {printf STDERR "%02X%02X%02X",255,0,100;} timethese(10_000_000,{ 'Mit pack & unpack: ' => \&use_pack, 'Mit printf: ' => \&use_printf } ); _ _ END _ _ Benchmark: timing 10000000 iterations of Mit pack & unpack: , Mit printf: ... Mit pack & unpack: : 2443 wallclock secs (55.91 usr + 29.84 sys = 85.75 CPU) @ 116619.44/s (n=10000000) Mit printf: : 4394 wallclock secs (91.11 usr + 39.45 sys = 130.56 CPU) @ 76591.38/s (n=10000000)