note
Xxaxx
I recommend running the benchmark again using the actual functions.<p>
In your referenced benchmark you're comparing:<p>
$data =~ tr/a-z/A-Z/;<br>
and<br>
$data =~ s/([A-Za-z]+)/uc($1)/ge;<p>
The uc($1) is a little different than:<br>
$outstring =~ s/-/_/g;<p>
When I ran the actual benchmark I got the following results:<p>
Run 1: (n=5000000)<br>
Method One TR: 3 wallclock secs ( 3.00 usr + 0.00 sys = 3.00 CPU) @ 166666.67<br>
Method Two S: 3 wallclock secs ( 3.05 usr + 0.00 sys = 3.05 CPU) @ 163934.43<p>
Run 2: (n=5000000)<br>
Method One TR: 2 wallclock secs ( 2.96 usr + 0.00 sys = 2.96 CPU) @ 168918.92<br>
Method Two S: 3 wallclock secs ( 3.08 usr + 0.00 sys = 3.08 CPU) @ 162337.66<p>
Run 3: (n=5000000)<br>
Method One TR: 4 wallclock secs ( 2.97 usr + 0.00 sys = 2.97 CPU) @ 168350.17<br>
Method Two S: 3 wallclock secs ( 3.08 usr + 0.00 sys = 3.08 CPU) @ 162337.66<p>
Seems like they are pretty much equal. But, alas, I'm real new to this benchmark stuff
and I could have some weird caching issue.<p>
Even so without the eval of uc($1) this is certainly no 17 to 1 ratio as the referenced
benchmark shows.<p>
Hope this helps<br>
Claude<br>
p.s. Thanks to Desdinova for introducing me to the world of benchmarks.
68158
68166