Hello,
This is a summary of ruby-dev mailing list for the
last 2 weeks.
[ruby-dev:21192] check type of Data_Wrap_Struct
A code to check type of the first argument of
Data_Wrap_Struct() was added by U.Nakamura.
The code is to prevent bugs like ruby-bugs PR#1109
in ext/Win32/Win32API.c. The bug #1109 has already been
fixed by him.
[ruby-dev:21216] [PATCH] reducing PUSH/POP/EXEC_TAG() for retry
[ruby-dev:21217] [PATCH] passing current block
Nobu Nakada committed 2 patches for refinement. The
first patch reduces unnecessary setjmp() and longjmp()
operations, which is described using PUSH_TAG, POP_TAG and
EXEC_TAG macros, in ‘retry’ execution. The second one
speeds up passing current block parameter of the method
to others. In following example, execution of nested(10)
in the code runs about 3 times faster by this patch:
require 'benchmark’
def dummy
end
def nested(n, &b)
if n > 0
nested(n-1, &b)
else
dummy(&b)
end
end
ITERATION = 100000
Benchmark.benchmark() do |b|
b.report("nested(0) ") {
p = proc{}; ITERATION.times{nested(0, &p)}
}
b.report("nested(1) ") {
p = proc{}; ITERATION.times{nested(1, &p)}
}
b.report("nested(10) ") {
p = proc{}; ITERATION.times{nested(10, &p)}
}
end
[ruby-dev:21230] [Oniguruma] Version 1.9.3
K.Kosako released the new version of Oniguruma.
This release includes some bug fixes and a document for
regexp in Japanese. You can get it from:
http://ftp.ruby-lang.org/pub/ruby/contrib/onigd20030819.tar.gz
Kazuo Saito ksaito@uranus.dti.ne.jp