Benchmark: timing 1000 iterations of each, for keys, foreach keys... each: 3.46613 wallclock secs ( 3.40 usr + 0.01 sys = 3.41 CPU) @ 292.83/s (n=1000) for keys: 1.98373 wallclock secs ( 1.97 usr + 0.00 sys = 1.97 CPU) @ 507.10/s (n=1000) foreach keys: 2.02901 wallclock secs ( 1.98 usr + 0.00 sys = 1.98 CPU) @ 504.54/s (n=1000)