[#63592] [ruby-trunk - Bug #10009] IO operation is 10x slower in multi-thread environment — normalperson@...
Issue #10009 has been updated by Eric Wong.
3 messages
2014/07/08
[#63682] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/13
[#63703] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/14
[#63743] [ruby-trunk - Bug #10037] Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during make — ngotogenome@...
Issue #10037 has been updated by Naohisa Goto.
3 messages
2014/07/15
[#64136] Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb — "Jeffrey 'jf' Lim" <jfs.world@...>
As per subject.
4 messages
2014/07/31
[#64138] Re: Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb
— "Jeffrey 'jf' Lim" <jfs.world@...>
2014/07/31
On Thu, Jul 31, 2014 at 6:03 PM, Jeffrey 'jf' Lim <[email protected]>
[ruby-core:63525] [ruby-trunk - Bug #10007] [Closed] IO#read does not respect String Copy-On-Write in some cases
From:
nobu@...
Date:
2014-07-03 01:11:13 UTC
List:
ruby-core #63525
Issue #10007 has been updated by Nobuyoshi Nakada. Status changed from Open to Closed Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED 2.0.0p510 and 2.1.2p161 have no problems. ---------------------------------------- Bug #10007: IO#read does not respect String Copy-On-Write in some cases https://bugs.ruby-lang.org/issues/10007#change-47573 * Author: Andrey Zaikin * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED ---------------------------------------- ~~~ruby #!/usr/bin/env ruby CHUNK_SIZE = 29 # no problems with CHUNK_SIZE = 28 File.open(__FILE__,'r') do |f| d0 = '' a = [] f.read(CHUNK_SIZE, d0) a << d0[15..-2] a << d0[5..-2] a << d0[-5..-2] a << d0[15..-1] a << d0[5..-1] # <-- only this string will change a << d0[-5..-1] p a f.read(CHUNK_SIZE, d0) # <-- 2nd read p a end ~~~ output on ruby 1.9.3p448: **(all strings are similar before and after 2nd read)** ~~~ ["ruby\n\nCHUNK_S", "r/bin/env ruby\n\nCHUNK_S", "NK_S", "ruby\n\nCHUNK_SI", "r/bin/env ruby\n\nCHUNK_SI", "NK_SI"] ["ruby\n\nCHUNK_S", "r/bin/env ruby\n\nCHUNK_S", "NK_S", "ruby\n\nCHUNK_SI", "r/bin/env ruby\n\nCHUNK_SI", "NK_SI"] ~~~ output on ruby 2.0.0p481, 2.0.0p353, 2.0.0p247: **(5th string changed unexpectedly!)** ~~~ ["ruby\n\nCHUNK_S", "r/bin/env ruby\n\nCHUNK_S", "NK_S", "ruby\n\nCHUNK_SI", "r/bin/env ruby\n\nCHUNK_SI", "NK_SI"] ["ruby\n\nCHUNK_S", "r/bin/env ruby\n\nCHUNK_S", "NK_S", "ruby\n\nCHUNK_SI", "29\n\nFile.open(__FILE__,'", "NK_SI"] ~~~ -- https://bugs.ruby-lang.org/