mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
![]() This patch was provided by Rafael França and greatly improves performance when an exception is raised. [Bug #11461] Before: Calculating ------------------------------------- default 86.209k i/100ms default raising 2.209k i/100ms ------------------------------------------------- default 1.953M (±11.0%) i/s - 9.655M default raising 21.826k (±13.5%) i/s - 108.241k After: Calculating ------------------------------------- default 72.211k i/100ms default raising 34.288k i/100ms ------------------------------------------------- default 2.013M (±18.7%) i/s - 9.460M default raising 623.950k (± 9.7%) i/s - 3.120M Benchmark: require 'delegate' require 'benchmark/ips' class Foo def name 'foo' end def bla raise end end class Bar < DelegateClass(Foo) end bar = Bar.new(Foo.new) Benchmark.ips do |b| b.report('default') { bar.name } b.report('default raising') { bar.bla rescue nil } end git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
.. | ||
cgi | ||
drb | ||
irb | ||
matrix | ||
net | ||
optparse | ||
racc | ||
rbconfig | ||
rdoc | ||
rexml | ||
rinda | ||
rss | ||
rubygems | ||
shell | ||
unicode_normalize | ||
uri | ||
webrick | ||
xmlrpc | ||
yaml | ||
abbrev.rb | ||
base64.rb | ||
benchmark.rb | ||
cgi.rb | ||
cmath.rb | ||
csv.rb | ||
debug.rb | ||
delegate.rb | ||
drb.rb | ||
e2mmap.rb | ||
English.rb | ||
erb.rb | ||
fileutils.rb | ||
find.rb | ||
forwardable.rb | ||
getoptlong.rb | ||
ipaddr.rb | ||
irb.rb | ||
logger.rb | ||
mathn.rb | ||
matrix.rb | ||
mkmf.rb | ||
monitor.rb | ||
mutex_m.rb | ||
observer.rb | ||
open-uri.rb | ||
open3.rb | ||
optionparser.rb | ||
optparse.rb | ||
ostruct.rb | ||
pp.rb | ||
prettyprint.rb | ||
prime.rb | ||
profile.rb | ||
profiler.rb | ||
pstore.rb | ||
rdoc.rb | ||
resolv-replace.rb | ||
resolv.rb | ||
rss.rb | ||
rubygems.rb | ||
scanf.rb | ||
securerandom.rb | ||
set.rb | ||
shell.rb | ||
shellwords.rb | ||
singleton.rb | ||
sync.rb | ||
tempfile.rb | ||
thwait.rb | ||
time.rb | ||
timeout.rb | ||
tmpdir.rb | ||
tracer.rb | ||
tsort.rb | ||
ubygems.rb | ||
un.rb | ||
unicode_normalize.rb | ||
uri.rb | ||
weakref.rb | ||
webrick.rb | ||
xmlrpc.rb | ||
yaml.rb |