[#27380] [Bug #2553] Fix pthreads slowness by eliminating unnecessary sigprocmask calls — Dan Peterson <redmine@...>
Bug #2553: Fix pthreads slowness by eliminating unnecessary sigprocmask calls
Issue #2553 has been updated by Andre Nathan.
2010/7/10 Andre Nathan <redmine@ruby-lang.org>:
[#27388] [Bug #2554] Net::FTP should not use MSG_OOB — Hongli Lai <redmine@...>
Bug #2554: Net::FTP should not use MSG_OOB
[#27393] Re: compressed pointers? — Roger Pack <rogerdpack2@...>
Martin wrote:
[#27420] closing of the stderr pipe not detected - issue in 1.9.1? — Robert Klemme <shortcutter@...>
Hi,
2010/1/5 Robert Klemme <shortcutter@googlemail.com>:
2010/1/5 Tanaka Akira <akr@fsij.org>:
[#27425] [Bug #2559] IO#write raises Errno::EINVAL instead of expected Errno::EPIPE — Hongli Lai <redmine@...>
Bug #2559: IO#write raises Errno::EINVAL instead of expected Errno::EPIPE
[#27429] [Bug #2560] IO.read not always closes the file — Vladimir Sizikov <redmine@...>
Bug #2560: IO.read not always closes the file
[#27437] [Feature #2561] 1.8.7 Patch reduces time cost of Rational operations by 50%. — Kurt Stephens <redmine@...>
Feature #2561: 1.8.7 Patch reduces time cost of Rational operations by 50%.
[#27447] [Bug #2564] [patch] re-initialize timer_thread_{lock,cond} after fork — Aliaksey Kandratsenka <redmine@...>
Bug #2564: [patch] re-initialize timer_thread_{lock,cond} after fork
[#27448] [Feature:trunk] adding hooks for better tracing — Yugui <yugui@...>
Hi,
[#27504] C can't instantiate over existing classes? — Roger Pack <rogerdpack2@...>
Is this expected? [1.9.1]
[#27522] require behavior in 1.9 with respect to loading files with different extensions — Dirkjan Bussink <d.bussink@...>
Hi,
Hi,
[#27545] [Feature #2594] 1.8.7 Patch: Reduce time spent in gc.c is_pointer_to_heap(). — Kurt Stephens <redmine@...>
Feature #2594: 1.8.7 Patch: Reduce time spent in gc.c is_pointer_to_heap().
Issue #2594 has been updated by Kurt Stephens.
[#27551] [Bug #2595] Add crc32_combine and adler32_combine to zlib API — Aaron Patterson <redmine@...>
Bug #2595: Add crc32_combine and adler32_combine to zlib API
Hi Aaron,
On Tue, Jan 19, 2010 at 10:22:25AM +0900, NAKAMURA, Hiroshi wrote:
[#27625] [Bug #2616] unable to trap in doze — Roger Pack <redmine@...>
Bug #2616: unable to trap in doze
[#27635] [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <redmine@...>
Bug #2619: Proposed method: Process.fork_supported?
Issue #2619 has been updated by Luis Lavena.
Hi,
On Thu, Jan 21, 2010 at 11:27 PM, Yukihiro Matsumoto <matz@ruby-lang.org> w=
Hi,
On Fri, Jan 22, 2010 at 1:25 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wr=
On Fri, Jan 22, 2010 at 9:06 PM, Charles Oliver Nutter
2010/1/21 Hongli Lai <redmine@ruby-lang.org>:
On 1/21/10 5:20 AM, Tanaka Akira wrote:
2010/1/21 Hongli Lai <hongli@plan99.net>:
On Thu, Jan 21, 2010 at 10:53 AM, Tanaka Akira <akr@fsij.org> wrote:
On Thu, Jan 21, 2010 at 12:49 PM, Vladimir Sizikov <vsizikov@gmail.com> wrote:
On 1/21/10 8:09 PM, Charles Oliver Nutter wrote:
2010/1/22 Vladimir Sizikov <vsizikov@gmail.com>:
On Thu, Jan 21, 2010 at 9:43 PM, Tanaka Akira <akr@fsij.org> wrote:
2010/1/22 Charles Oliver Nutter <headius@headius.com>:
Hi,
>> I propose a method Process.fork_supported? which returns whether fork is supported on the current platform. See attached patch.
On 1/25/10 3:46 PM, Roger Pack wrote:
[#27656] A patch to rdoc — Tetsu Soh <tetsu.soh.dev@...>
Hello everyone,
[#27670] able to re-require $0 — Roger Pack <rogerdpack2@...>
Currently with 1.9.x you cannot "re-require" a file, even if you pass
Hi,
Hi,
Hi,
[#27698] [Bug #2629] ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time — Hongli Lai <redmine@...>
Bug #2629: ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time
[#27701] [Feature #2631] Allow IO#reopen to take a block — Daniel Berger <redmine@...>
Feature #2631: Allow IO#reopen to take a block
[#27722] [Feature #2635] Unbundle rdoc — Yui NARUSE <redmine@...>
Feature #2635: Unbundle rdoc
Hi,
Issue #2635 has been updated by Yui NARUSE.
[#27748] [Bug #2636] Incorrect UTF-16 string length — Vincent Isambart <redmine@...>
Bug #2636: Incorrect UTF-16 string length
2010/1/24 Vincent Isambart <redmine@ruby-lang.org>:
What needs to be fixed here is the data, nothing else:
[#27753] [Bug #2637] unable to select for < 0.1s in windows — Roger Pack <redmine@...>
Bug #2637: unable to select for < 0.1s in windows
[#27757] [Bug #2638] ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located. — Joel Soete <redmine@...>
Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.
[#27790] [Feature #2643] test/unit redefinition check of test_* method — Yusuke Endoh <redmine@...>
Feature #2643: test/unit redefinition check of test_* method
[#27791] [Bug #2644] memory over-allocation with regexp — Greg Hazel <redmine@...>
Bug #2644: memory over-allocation with regexp
Issue #2644 has been updated by Greg Hazel.
[#27794] [Bug #2647] Lack of testing for String#split — Hugh Sasse <redmine@...>
Bug #2647: Lack of testing for String#split
[#27828] [Bug #2656] Inconsistent docs for Zlib. — Hugh Sasse <redmine@...>
Bug #2656: Inconsistent docs for Zlib. [ruby-core:27692]
[#27902] Ruby 1.8.7, rb_define_method and ArgumentError: wrong number of arguments (0 for 1) — Gerardo Santana Gez Garrido <gerardo.santana@...>
I have the following method defined in a C extension:
On 1/27/10 8:55 AM, "Gerardo Santana G=F3mez Garrido"
On Wed, Jan 27, 2010 at 11:18 AM, Eero Saynatkari
[#27912] [Bug #2669] mkmf find_executable doesn't find .bat files — Roger Pack <redmine@...>
Bug #2669: mkmf find_executable doesn't find .bat files
Issue #2669 has been updated by Luis Lavena.
[#27930] [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — Yusuke ENDOH <mame@...>
Hi jeg2, or anyone who knows the implementation of FasterCSV,
On Jan 28, 2010, at 10:51 AM, Yusuke ENDOH wrote:
On Jan 28, 2010, at 11:13 AM, James Edward Gray II wrote:
Hi,
On Jan 31, 2010, at 4:40 AM, Yusuke ENDOH wrote:
Hi jeg2,
[#27961] RCR: allow {select, collect, map} to accept symbol argument — Roger Pack <rogerdpack2@...>
Background.
This reply registers the suggestion by Roger to the redmine.
[ruby-core:27565] Re: better GC?
On Tue, Jan 12, 2010 at 5:23 AM, Brent Roman <brent@mbari.org> wrote: > > This paper and excellent slide set seem very promising: > > http://matsu-www.is.titech.ac.jp/~endo/papers/endo-ismm2002-gc.pdf > http://matsu-www.is.titech.ac.jp/~endo/papers/endo-ismm2002-gc.ppt > > Toshio Endo and Kenjiro Taura adapted the Boehm conservative GC > to *dramatically* reduce pauses with incremental collection. =A0Their GC = adds > about 10% to execution times on a single core CPU, but improves > execution times over basic mark-and-sweep > on multi-core CPU -- by allowing marking to run > in parallel on multiple cores. > > This GC seems like a good fit to me. =A0Since most folks running Ruby alr= eady > use multi-core processors, it should be an all around performance "win". > > Has anyone looked into grafting this GC into MRI? > > Does anyone see any conceptual problems in doing so? Well, I've just scanned the paper, but I have a few comments. 1) The algorithm they present relies on hooking into the virtual memory implementation in order to implement a write barrier by write protecting pages, catching the exception caused when a store is done into a protected page, marking the page as dirty, and then un-write protecting the page. I'm not sure how portable this is across various combinations of operating system and processor. 2) IMHO, conservative GCs are compromises which attempt to provide GC to languages without a strong 'object model'. And without help from the compiler. By object model here, I mean more than just how objects are laid out, or how methods are found, but a design which is factored so that at the least references to objects vs. non-objects can be distinguished, and reference changes can be efficiently tracked, usually with some support from the compiler, and/or implementation of the 'byte-codes'. There's no reason why Ruby couldn't be implemented with such an object model, in fact I don't think that it's far from that. There are decades of experience in implementing VMs for such languages which provide efficient accurate garbage collection, while also providing at least, and usually two, interfaces for invoking code not generated by the languages compiler: 1) An interface for invoking procedural library code which is totally unaware which language invoked it. Such code takes a list of parameters and returns result value(s). This code need have no interaction with the GC, the interface insures that object references don't pass across the interface, all the parameters get converted to and result values get converted from basic data types (ints, strings, structs ...). This is what the FFI does. 2) An interface for using a low-level language for writing 'primitives' which are aware that they need to interact with the VM and the garbage collector. This requires that the interface provides macros and/or function calls/call backs and a set of rules to be followed in writing the primitives. The biggest problem with MRI, is that it started out using one api for both of these. I suspect that a large percentage of Ruby extensions are really cases of use case 1. If Ruby were to take a path of deprecating using the extension api for use case 1 in favor of FFI, and then evolving the extension API to support having objects move during GC (which the similar APIs for Smalltalk, Java and VM base languages have done), it could actually get a competitive VM/GC. --=20 Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale