@classmates = (@classmates, &M1(@n)); #### > perl -lwe'use Benchmark "cmpthese";@a=0..8;cmpthese(-8, {push => sub{push@x,@a[0..2]}, comb => sub{@y=(@y,@a[0..2])}})' Benchmark: running comb, push , each for at least 8 CPU seconds ... comb: 28 wallclock secs (28.33 usr + 0.00 sys = 28.33 CPU) @ 44.79/s (n=1269) push: 8 wallclock secs ( 8.13 usr + 0.25 sys = 8.38 CPU) @ 41728.04/s (n=349681) Rate comb push comb 44.8/s -- -100% push 41728/s 93056% --