Benchmark: timing 100000 iterations of Reference Implementation, Reverse Array, Shorter Array, strftime... Reference Implementation: 1 wallclock secs ( 0.66 usr + 0.03 sys = 0.69 CPU) @ 144927.54/s (n=100000) Reverse Array: 1 wallclock secs ( 0.85 usr + 0.03 sys = 0.88 CPU) @ 113636.36/s (n=100000) Shorter Array: 0 wallclock secs ( 0.63 usr + 0.04 sys = 0.67 CPU) @ 149253.73/s (n=100000) strftime: 1 wallclock secs ( 0.52 usr + 0.07 sys = 0.59 CPU) @ 169491.53/s (n=100000) Rate Reverse Array Reference Implementation Shorter Array strftime Reverse Array 113636/s -- -22% -24% -33% Reference Implementation 144928/s 28% -- -3% -14% Shorter Array 149254/s 31% 3% -- -12% strftime 169492/s 49% 17% 14% --