Yup, sure does. (*sigh* busted ;-) But it turns out a combination is slightly better as well. The modifier form of the for loop doesn't have the marginal overhead of scope (er I think...), although I wonder if the 3% gain is worth the obfu.
I have to admit that I was suprised to discover that the list assignment is so much faster than an array lookup (which obviously is why yours is faster). Somthing I shall keep in mind for the future.
Heres my benchmarks...
Benchmark: running demerphq, petral, petral_modifier, each for at leas
+t 60 CPU seconds...
demerphq: 66 wallclock secs (62.98 usr + 0.00 sys = 62.98 CPU) @ 21
+2.26/s (n=13369)
petral: 64 wallclock secs (62.99 usr + 0.00 sys = 62.99 CPU) @ 26
+7.17/s (n=16828)
petral_modifier: 64 wallclock secs (63.17 usr + 0.00 sys = 63.17 CPU)
+ @ 274.43/s (n=17336)
Rate demerphq petral petral_modifier
demerphq 212/s -- -21% -23%
petral 267/s 26% -- -3%
petral_modifier 274/s 29% 3% --
Yves / DeMerphq
--
When to use Prototypes? |