From: Kazuo Saito Date: 2003-08-25T23:08:14+09:00 Subject: ruby-dev summary 21192-21253 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