Berger, Daniel
3/20/2005 2:38:00 AM
> -----Original Message-----
> From: Nikolai Weibull
> [mailto:mailing-lists.ruby-talk@rawuncut.elitemail.org]
> Sent: Saturday, March 19, 2005 6:12 PM
> To: ruby-talk ML
> Subject: Re: RCR 296: Destructive methods return self
>
> A comment on your benchmark: doesn't it make more sense to do
> the tests on new strings each time?
Yeah, you're right. I just used string literals instead of variables.
With that I got:
C:\eclipse\workspace\ruby-foo\benchmarks>ruby bang.rb
user system total real
capitalize 2.103000 0.000000 2.103000 ( 2.132000)
capitalize! 1.762000 0.000000 1.762000 ( 1.793000)
chomp 1.853000 0.010000 1.863000 ( 2.072000)
chomp! 1.622000 0.000000 1.622000 ( 1.652000)
delete 5.578000 0.000000 5.578000 ( 5.807000)
delete! 5.348000 0.000000 5.348000 ( 5.527000)
downcase 2.093000 0.000000 2.093000 ( 2.113000)
downcase! 1.722000 0.000000 1.722000 ( 1.812000)
gsub 4.237000 0.000000 4.237000 ( 4.346000)
gsub! 4.125000 0.020000 4.145000 ( 4.315000)
lstrip 1.993000 0.010000 2.003000 ( 2.043000)
lstrip! 1.703000 0.000000 1.703000 ( 1.852000)
next 1.892000 0.010000 1.902000 ( 2.153000)
next! 2.474000 0.000000 2.474000 ( 2.543000)
reverse 1.943000 0.020000 1.963000 ( 1.972000)
reverse! 1.522000 0.000000 1.522000 ( 1.723000)
rstrip 1.943000 0.010000 1.953000 ( 2.112000)
rstrip! 1.652000 0.000000 1.652000 ( 1.662000)
slice 2.213000 0.010000 2.223000 ( 2.233000)
slice! 4.487000 0.040000 4.527000 ( 4.716000)
strip 2.053000 0.010000 2.063000 ( 2.103000)
strip! 1.632000 0.000000 1.632000 ( 1.752000)
sub 4.086000 0.020000 4.106000 ( 4.165000)
sub! 3.645000 0.010000 3.655000 ( 3.815000)
swapcase 2.374000 0.000000 2.374000 ( 2.433000)
swapcase! 1.982000 0.010000 1.992000 ( 2.103000)
tr 3.626000 0.000000 3.626000 ( 3.694000)
tr 3.114000 0.000000 3.114000 ( 3.295000)
tr_s 3.605000 0.010000 3.615000 ( 3.965000)
tr_s! 3.195000 0.010000 3.205000 ( 3.724000)
upcase 2.263000 0.010000 2.273000 ( 2.353000)
upcase! 1.913000 0.010000 1.923000 ( 1.993000)
Definitely an improvement. So, I guess that still leaves the question
of what qualifies as "noticeably slower". ;)
Regards,
Dan