[#35961] require performance on 1.9 — Xavier Shay <xavier-list@...>
Hello,
[#35985] [Backport92 - Backport #4641][Open] Please backport r31418 to 1.9.2 stable branch — Aaron Patterson <aaron@...>
[#36013] [Ruby 1.9 - RubySpec #4649][Open] Adding parallel constructors to Ruby 2.0 — Rodrigo Rosenfeld Rosas <rr.rosas@...>
[#36046] [Ruby 1.9 - Bug #4655][Open] String#to_c does not support scientific notation — Tinco Andringa <mail@...>
[#36058] draft schedule of Ruby 1.9.3 — "Yuki Sonoda (Yugui)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
Hi Yugui, is there any plans for the next patch release of 1.9.2?
[#36108] [Ruby 1.9 - Bug #4666][Open] set ruby compatibility version to 1.9.3 in trunk — Lucas Nussbaum <lucas@...>
Lucas Nussbaum <lucas@lucas-nussbaum.net> wrote:
> Even if 1.9.3 is still binary-compatible with 1.9.1, I think that it would be easier to change
2011/5/12 Urabe Shyouhei <shyouhei@ruby-lang.org>:
[#36131] Re: [ruby-cvs:38172] Ruby:r30989 (trunk): * include/ruby/win32.h: define WIN32 if neither _WIN64 nor WIN32 defined. it forces to use push/pop for pack(4) pragma. — "Yuki Sonoda (Yugui)" <yugui@...>
Hi arton,
Hi,
[#36150] [Ruby 1.9 - Bug #4680][Open] [PATCH] io.c: fix busy wait with sendfile() — Eric Wong <normalperson@...>
[#36156] [Ruby 1.9 - Bug #4683][Open] [PATCH] io.c: copy_stream execute interrupts and retry — Eric Wong <normalperson@...>
[#36167] [Ruby 1.9 - Bug #4421] [ext/openssl] Fix RSA public key encoding — Hiroshi NAKAMURA <nakahiro@...>
[#36255] Whitespace conventions? — Steve Klabnik <steve@...>
So, while working on some documentation, I've noticed that there's a lot of
2011/5/17 Steve Klabnik <steve@steveklabnik.com>:
[#36285] unable to load irb, 1.9.3 mingw — Roger Pack <rogerdpack2@...>
Hello all, with mingw 1.9.3, I get the following when trying to load irb:
[#36314] [Ruby 1.9 - Bug #3167] RDoc issues in interactive mode — Benoit Daloze <redmine@...>
[#36316] [Ruby 1.9 - Bug #4731][Open] ruby -S irb fails with mingw/msys vanilla builds — Roger Pack <rogerpack2005@...>
Hi,
On Sat, Jul 16, 2011 at 7:46 AM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#36322] [Ruby 1.9 - Bug #4734][Assigned] [ext/openssl] DSA#sign error — Martin Bosslet <Martin.Bosslet@...>
[#36337] [Ruby 1.9 - Feature #3905] rb_clear_cache_by_class() called often during GC for non-blocking I/O — Akira Tanaka <akr@...>
Akira Tanaka <akr@fsij.org> wrote:
Hi,
SASADA Koichi <ko1@atdot.net> wrote:
[#36373] [Ruby 1.9 - Bug #4757][Open] Attempt to make Enumerator docs more clear (patch included) — David Copeland <davetron5000@...>
2011/5/25 Yusuke Endoh <mame@tsg.ne.jp>:
[#36374] [Ruby 1.9 - Bug #4758][Open] yaml file not human readable when saving utf-8 — Ilias Lazaridis <ilias@...>
[#36390] [Ruby 1.9 - Feature #4766][Open] Range#bsearch — Yusuke Endoh <mame@...>
On Jul 17, 2011, at 7:54 PM, Eric Hodel wrote:
[#36395] [Ruby 1.9 - Bug #4769][Open] Updated SMTP standards — "J.R. Garcia" <mrjohngarcia@...>
[#36406] 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>
Hello core people,
2011/5/23 Urabe Shyouhei <shyouhei@ruby-lang.org>:
Hi Luis,
From: Urabe Shyouhei <shyouhei@ruby-lang.org>
From: Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
Ping Luis, how's it going?
On Fri, Jun 3, 2011 at 5:18 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hi,
On Sun, Jun 5, 2011 at 4:30 AM, Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> wrote:
(06/06/2011 01:16 PM), Luis Lavena wrote:
On Mon, Jun 6, 2011 at 1:24 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
From: Luis Lavena <luislavena@gmail.com>
[#36419] [Ruby 1.9 - Feature #4772][Open] Hash#add_keys — Joey Zhou <yimutang@...>
[#36429] GC thought — Roger Pack <rogerdpack2@...>
Hello all.
[#36447] [Ruby 1.9 - Bug #4777][Open] Ruby 1.9.2-p180 ignoring INT, TERM, and QUIT until it receives CONT — Nathan Sobo <nathansobo@...>
[#36463] [Ruby 1.9 - Feature #4778][Open] IO#each_chomped — Joey Zhou <yimutang@...>
[#36474] Error reporting, backtraces and the debugger — Clifford Heath <clifford.heath@...>
Dear people,
[#36479] [Ruby 1.9 - Feature #4784][Open] Import the JSON library — Lazaridis Ilias <ilias@...>
[#36494] [Ruby 1.9 - Feature #4786][Open] RCR new Feature: Numeric#grouped — Roger Pack <rogerpack2005@...>
[#36528] [Ruby 1.9 - Bug #4795][Open] Nested classes don't seem to resolve correctly when another class exists with the same name — John Feminella <johnf@...>
[#36536] [Ruby 1.9 - Bug #3924] Performance bug (in require?) — Xavier Shay <xavier-list@...>
[#36550] [Ruby 1.9 - Bug #4798][Open] test_process and test_signal errors and halts on Windows — Luis Lavena <luislavena@...>
[#36551] [Ruby 1.9 - Bug #4799][Open] M17N tests are too JP specific — Luis Lavena <luislavena@...>
[#36558] [Ruby 1.9 - Bug #3924] Performance bug (in require?) — Xavier Shay <xavier-list@...>
Hello,
Hello, Xavier
[#36559] [Ruby 1.9 - Feature #4801][Open] Shorthand Hash Syntax for Strings — Tom Wardrop <tom@...>
Hi,
> Iff 'key': 'value'} means {:key => 'value'} I have no objection.
Hi,
On Mon, May 30, 2011 at 04:21:32PM +0900, Yukihiro Matsumoto wrote:
Em 30-05-2011 07:58, Cezary escreveu:
Since :"#{abc}" is allowed in Ruby, I imagine that any such substitute syntax would preserve that property.
Em 30-05-2011 09:05, Michael Edgar escreveu:
On Mon, May 30, 2011 at 09:05:04PM +0900, Michael Edgar wrote:
Cezary:
On Tue, May 31, 2011 at 05:55:39AM +0900, Piotr Szotkowski wrote:
On May 30, 2011, at 10:19 AM, Cezary wrote:
On 5/30/11 9:24 AM, Michael Edgar wrote:
On 02/06/2011, at 10:28 AM, Kurt Stephens wrote:
On 6/1/11 10:17 PM, Bill Kelly wrote:
[#36565] [Ruby 1.9 - Bug #4803][Open] RCLASS_SUPER won't compile for C extensions as of revision 31627 — Daniel Azuma <dazuma@...>
Hi,
[#36628] [Ruby 1.9 - Feature #4805][Open] Add X509::Name#hash_old for 0.9.X compat — Hiroshi NAKAMURA <nakahiro@...>
[ruby-core:35981] [Ruby 1.9 - Feature #4531] [PATCH 0/7] use poll() instead of select() in certain cases
Issue #4531 has been updated by Motohiro KOSAKI.
Please do NOT send untested patch. :-/
% ./ruby-single-wait benchmark/bm_io_select3.rb
max fd: 100000 (results not apparent with <= 1024 max fd)
benchmark/bm_io_select3.rb:15: [BUG] Segmentation fault
ruby 1.9.3dev (2011-05-03 trunk 31412) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0007 p:---- s:0021 b:0021 l:000020 d:000020 CFUNC :select
c:0006 p:0019 s:0016 b:0016 l:000738 d:000015 BLOCK benchmark/bm_io_select3.rb:15
c:0005 p:---- s:0014 b:0014 l:000013 d:000013 FINISH
c:0004 p:---- s:0012 b:0012 l:000011 d:000011 CFUNC :times
c:0003 p:0094 s:0009 b:0009 l:000738 d:001e00 EVAL benchmark/bm_io_select3.rb:14
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000738 d:000738 TOP
-- Ruby level backtrace information ----------------------------------------
benchmark/bm_io_select3.rb:14:in `<main>'
benchmark/bm_io_select3.rb:14:in `times'
benchmark/bm_io_select3.rb:15:in `block in <main>'
benchmark/bm_io_select3.rb:15:in `select'
-- C level backtrace information -------------------------------------------
./ruby-single-wait() [0x528508] vm_dump.c:797
./ruby-single-wait() [0x572226] error.c:249
./ruby-single-wait(rb_bug+0xb1) [0x573631] error.c:266
./ruby-single-wait() [0x4b8420] signal.c:624
/lib64/libpthread.so.0() [0x33bf20eeb0]
/lib64/libc.so.6() [0x33bea884bb]
./ruby-single-wait(rb_thread_fd_select+0x340) [0x5307e0] thread.c:2393
./ruby-single-wait() [0x42e00c] io.c:7298
./ruby-single-wait(rb_ensure+0xab) [0x41758b] eval.c:745
./ruby-single-wait() [0x434d27] io.c:7713
./ruby-single-wait() [0x524a2d] vm_insnhelper.c:403
./ruby-single-wait() [0x519224] insns.def:1012
./ruby-single-wait() [0x51eb8e] vm.c:1163
./ruby-single-wait() [0x51f8e5] vm.c:574
./ruby-single-wait(rb_yield+0x44) [0x525504] vm.c:604
./ruby-single-wait() [0x446861] numeric.c:3225
./ruby-single-wait() [0x524a2d] vm_insnhelper.c:403
./ruby-single-wait() [0x519224] insns.def:1012
./ruby-single-wait() [0x51eb8e] vm.c:1163
./ruby-single-wait(rb_iseq_eval_main+0xbf) [0x525e3f] vm.c:1404
./ruby-single-wait() [0x4147d2] eval.c:215
./ruby-single-wait(ruby_run_node+0x34) [0x416da4] eval.c:262
./ruby-single-wait() [0x414379] main.c:38
/lib64/libc.so.6(__libc_start_main+0xfd) [0x33bea1ee5d]
./ruby-single-wait() [0x414269]
-- Other runtime information -----------------------------------------------
* Loaded script: benchmark/bm_io_select3.rb
* Loaded features:
0 enumerator.so
1 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
2 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
3 /home/kosaki/ruby/lib/ruby/1.9.1/rubygems/defaults.rb
4 /home/kosaki/ruby/lib/ruby/1.9.1/tsort.rb
5 /home/kosaki/ruby/lib/ruby/1.9.1/rubygems/dependency_list.rb
6 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb
7 /home/kosaki/ruby/lib/ruby/1.9.1/rubygems/exceptions.rb
8 /home/kosaki/ruby/lib/ruby/1.9.1/rubygems/custom_require.rb
9 /home/kosaki/ruby/lib/ruby/1.9.1/rubygems.rb
* Process memory map:
00400000-00625000 r-xp 00000000 fd:03 2626950 /home/kosaki/linux/ruby/ruby-single-wait
00824000-00827000 rw-p 00224000 fd:03 2626950 /home/kosaki/linux/ruby/ruby-single-wait
00827000-0083f000 rw-p 00000000 00:00 0
014b6000-032bf000 rw-p 00000000 00:00 0 [heap]
33be200000-33be21f000 r-xp 00000000 fd:00 4980738 /lib64/ld-2.13.so
33be41e000-33be41f000 r--p 0001e000 fd:00 4980738 /lib64/ld-2.13.so
33be41f000-33be420000 rw-p 0001f000 fd:00 4980738 /lib64/ld-2.13.so
33be420000-33be421000 rw-p 00000000 00:00 0
33bea00000-33beb91000 r-xp 00000000 fd:00 4980744 /lib64/libc-2.13.so
33beb91000-33bed91000 ---p 00191000 fd:00 4980744 /lib64/libc-2.13.so
33bed91000-33bed95000 r--p 00191000 fd:00 4980744 /lib64/libc-2.13.so
33bed95000-33bed96000 rw-p 00195000 fd:00 4980744 /lib64/libc-2.13.so
33bed96000-33bed9c000 rw-p 00000000 00:00 0
33bee00000-33bee02000 r-xp 00000000 fd:00 4980748 /lib64/libdl-2.13.so
33bee02000-33bf002000 ---p 00002000 fd:00 4980748 /lib64/libdl-2.13.so
33bf002000-33bf003000 r--p 00002000 fd:00 4980748 /lib64/libdl-2.13.so
33bf003000-33bf004000 rw-p 00003000 fd:00 4980748 /lib64/libdl-2.13.so
33bf200000-33bf217000 r-xp 00000000 fd:00 4980758 /lib64/libpthread-2.13.so
33bf217000-33bf416000 ---p 00017000 fd:00 4980758 /lib64/libpthread-2.13.so
33bf416000-33bf417000 r--p 00016000 fd:00 4980758 /lib64/libpthread-2.13.so
33bf417000-33bf418000 rw-p 00017000 fd:00 4980758 /lib64/libpthread-2.13.so
33bf418000-33bf41c000 rw-p 00000000 00:00 0
33bf600000-33bf684000 r-xp 00000000 fd:00 4980756 /lib64/libm-2.13.so
33bf684000-33bf883000 ---p 00084000 fd:00 4980756 /lib64/libm-2.13.so
33bf883000-33bf884000 r--p 00083000 fd:00 4980756 /lib64/libm-2.13.so
33bf884000-33bf885000 rw-p 00084000 fd:00 4980756 /lib64/libm-2.13.so
33bfa00000-33bfa15000 r-xp 00000000 fd:00 4980798 /lib64/libgcc_s-4.5.1-20100924.so.1
33bfa15000-33bfc14000 ---p 00015000 fd:00 4980798 /lib64/libgcc_s-4.5.1-20100924.so.1
33bfc14000-33bfc15000 rw-p 00014000 fd:00 4980798 /lib64/libgcc_s-4.5.1-20100924.so.1
33c0200000-33c0207000 r-xp 00000000 fd:00 4980764 /lib64/librt-2.13.so
33c0207000-33c0406000 ---p 00007000 fd:00 4980764 /lib64/librt-2.13.so
33c0406000-33c0407000 r--p 00006000 fd:00 4980764 /lib64/librt-2.13.so
33c0407000-33c0408000 rw-p 00007000 fd:00 4980764 /lib64/librt-2.13.so
33caa00000-33caa07000 r-xp 00000000 fd:00 4980814 /lib64/libcrypt-2.13.so
33caa07000-33cac07000 ---p 00007000 fd:00 4980814 /lib64/libcrypt-2.13.so
33cac07000-33cac08000 r--p 00007000 fd:00 4980814 /lib64/libcrypt-2.13.so
33cac08000-33cac09000 rw-p 00008000 fd:00 4980814 /lib64/libcrypt-2.13.so
33cac09000-33cac37000 rw-p 00000000 00:00 0
33cae00000-33cae5d000 r-xp 00000000 fd:00 4980811 /lib64/libfreebl3.so
33cae5d000-33cb05c000 ---p 0005d000 fd:00 4980811 /lib64/libfreebl3.so
33cb05c000-33cb05e000 rw-p 0005c000 fd:00 4980811 /lib64/libfreebl3.so
33cb05e000-33cb062000 rw-p 00000000 00:00 0
7f6892403000-7f68924e3000 rw-p 00000000 00:00 0
7f6892509000-7f689250b000 r-xp 00000000 fd:03 1725292 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f689250b000-7f689270a000 ---p 00002000 fd:03 1725292 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f689270a000-7f689270b000 rw-p 00001000 fd:03 1725292 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f689270b000-7f689270d000 r-xp 00000000 fd:03 1725319 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f689270d000-7f689290c000 ---p 00002000 fd:03 1725319 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f689290c000-7f689290d000 rw-p 00001000 fd:03 1725319 /home/kosaki/ruby/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f689290d000-7f689290e000 ---p 00000000 00:00 0
7f689290e000-7f6892a12000 rw-p 00000000 00:00 0
7f6892a12000-7f68988a2000 r--p 00000000 fd:00 277164 /usr/lib/locale/locale-archive
7f68988a2000-7f68988a7000 rw-p 00000000 00:00 0
7f68988c1000-7f68988c3000 rw-p 00000000 00:00 0
7fffc64c8000-7fffc64e9000 rw-p 00000000 00:00 0 [stack]
7fffc652e000-7fffc652f000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
zsh: abort (core dumped) ./ruby-single-wait benchmark/bm_io_select3.rb
----------------------------------------
Feature #4531: [PATCH 0/7] use poll() instead of select() in certain cases
http://redmine.ruby-lang.org/issues/4531
Author: Eric Wong
Status: Open
Priority: Low
Assignee: Motohiro KOSAKI
Category: core
Target version: 1.9.x
=begin
ref: [ruby-core:35527]
This adds a new C API function with the following prototype:
rb_io_poll_fd(int fd, short events, int timeout);
It is emulated using select() for platforms that we do not support
poll() for. It is much easier to use than rb_thread_select() and
rb_thread_fd_select() for the common case in C extensions[1].
For Linux (and eventually any other platforms where poll() works for all
select()-able files), we actually implement rb_io_poll_fd() using the
poll() system call which means it is faster for high numbered file
descriptors and does not put malloc pressure on the garbage collector.
Lastly, since IO.select() is commonly used with a single IO object
in my experience, we will try to use rb_io_poll_fd() in that case.
There is also a new testcase for io/wait since I needed to verify my
changes to ext/io/wait.c were correct.
No failures were introduced to test-all and test-rubyspec targets with
either the select() or poll()-based implementation of rb_io_poll_fd()
on my platform (Linux x86_64)
[1] see patches for changes I made in ext/socket/init.c, ext/io/wait.c,
and ext/readline/readline.c:
$ git diff --stat origin/trunk -- ext
ext/io/wait/wait.c | 34 +++-------------------
ext/readline/readline.c | 6 +---
ext/socket/init.c | 72 ++++++++---------------------------------------
3 files changed, 18 insertions(+), 94 deletions(-)
=end
--
http://redmine.ruby-lang.org