#!/usr/bin/perl use strict; use warnings; my $ITERATIONS = 10_000_000; my $RUNS = 10; my $counter1 = 0; my $counter2 = 0; my $counter3 = 0; my $counter4 = 0; foreach (1 .. $RUNS) { my ($u1, $s1) = times; for (1 .. $ITERATIONS) {++$counter1 & 1 and 1} my ($u2, $s2) = times; for (1 .. $ITERATIONS) {++$counter2 % 2 and 1} my ($u3, $s3) = times; for (1 .. $ITERATIONS) {$a = ++$counter3 & 1} my ($u4, $s4) = times; for (1 .. $ITERATIONS) {$a = ++$counter4 % 2} my ($u5, $s5) = times; my $d1 = $u2 + $s2 - $u1 - $s1; my $d2 = $u3 + $s3 - $u2 - $s2; my $d3 = $u4 + $s4 - $u3 - $s3; my $d4 = $u5 + $s5 - $u4 - $s4; printf "And: %.2f Mod: %.2f; And: %.2f Mod: %.2f\n", $d1, $d2, $d3, $d4; } __END__ And: 2.89 Mod: 3.25; And: 2.82 Mod: 3.05 And: 2.74 Mod: 3.21; And: 2.76 Mod: 3.05 And: 2.69 Mod: 3.16; And: 2.91 Mod: 3.04 And: 2.67 Mod: 3.15; And: 2.79 Mod: 3.21 And: 2.71 Mod: 3.15; And: 2.75 Mod: 3.04 And: 2.80 Mod: 3.16; And: 2.75 Mod: 3.04 And: 2.69 Mod: 3.16; And: 2.93 Mod: 3.08 And: 2.67 Mod: 3.15; And: 2.75 Mod: 3.19 And: 2.69 Mod: 3.17; And: 2.75 Mod: 3.03 And: 2.80 Mod: 3.18; And: 2.76 Mod: 3.05