[#47787] Ruby Parallelism — Miguel Palhas <mpalhas@...>
Greetings
[#47790] [ruby-trunk - Bug #7097][Open] Thread locals don't work inside Enumerator — "tenderlovemaking (Aaron Patterson)" <aaron@...>
On Tue, Oct 02, 2012 at 03:05:17AM +0900, kosaki (Motohiro KOSAKI) wrote:
(2012/10/02 3:12), Aaron Patterson wrote:
(2012/10/02 8:22), SASADA Koichi wrote:
On Tue, Oct 02, 2012 at 08:32:51AM +0900, SASADA Koichi wrote:
>> For example:
I don't have any objection.
On Fri, Oct 26, 2012 at 02:40:53PM +0900, SASADA Koichi wrote:
[#47832] [ruby-trunk - Feature #7106][Open] FileUtils.touch should allow touching the symlink itself rather than the file the link points to — "cirrusthinking (Alessandro Diaferia)" <alessandro@...>
[#47841] [ruby-trunk - Bug #7109][Open] File.utime doesn't set nanoseconds — "bkabrda (Bohuslav Kabrda)" <bkabrda@...>
2012/10/5 bkabrda (Bohuslav Kabrda) <[email protected]>:
[#47847] [ruby-trunk - Bug #7110][Open] CGI: Add support for HTML5 <header> tag — "stomar (Marcus Stollsteimer)" <redmine@...>
[#47880] [ruby-trunk - Bug #7134][Open] Signal handling bug in Mac OS X — "auastro (Andy Kitchen)" <kitchen.andy+rubybug@...>
[#47881] [ruby-trunk - Bug #7135][Open] GC bug in Ruby 1.9.3-p194? — "alexdowad (Alex Dowad)" <alexinbeijing@...>
[#47887] [ruby-trunk - Bug #7137][Open] Date.parse overly lenient when attempting to parse Monday? — "garysweaver (Gary Weaver)" <garysweaver@...>
[#47927] new ruby 1.9.3 maintainer — "U.Nakamura" <usa@...>
Hello everyone of the Ruby development community
[#47930] [ruby-trunk - Feature #7148][Open] Improved Tempfile w/o DelegateClass — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
[#47963] [ruby-trunk - Bug #7154][Open] For whatever reason \s doesn't match \u00a0. — "t0d0r (Todor Dragnev)" <todor.dragnev@...>
[#47970] [ruby-trunk - Bug #7158][Open] require is slow in its bookkeeping; can make Rails startup 2.2x faster — "gregprice (Greg Price)" <price@...>
(2012/10/28 7:10), h.shirosaki (Hiroshi Shirosaki) wrote:
Thank you for the careful work.
[#48032] [Backport93 - Backport #7174][Open] Advocating for backporting 36811 — "jonforums (Jon Forums)" <redmine@...>
[#48040] Should Hash#dup automatically rehash — Aaron Patterson <tenderlove@...>
Hi,
[#48072] [ruby-trunk - Bug #7184][Open] --disable-gems commandline parameter does not show up with ruby -h — "steenslag (siep korteling)" <s.korteling@...>
[#48132] [ruby-trunk - Bug #7201][Open] Setting default_external affects STDIN encoding but default_internal does not — "brixen (Brian Ford)" <brixen@...>
[#48154] Patch to test_ssl to validate server-side support for SNI — Patrick Toomey <ptoomey3@...>
I recently made a pull request to JRuby (
We have incorporated Patrick's SNI patch for upcoming release JRuby
[#48191] [ANN] 2.0.0 feature freeze — Yusuke Endoh <mame@...>
Japanese later; 日本語は後で
Em 24-10-2012 09:39, Yusuke Endoh escreveu:
(2012/10/24 5:39), Yusuke Endoh wrote:
Hello ko1,
Hi,
AFAIK matz has not accepted #6636 completely yet.
Sorry, late to the party, but what's the status of #6679?
What status of #6638 <https://bugs.ruby-lang.org/issues/6638>
[#48260] [ruby-trunk - Bug #7214][Open] Ruby 2.0 breaks support for some debugging tools — "banister (john mair)" <jrmair@...>
[#48292] [ruby-trunk - Bug #7216][Open] object.c defines clone method for objects that cannot be cloned. — "therevmj (Michael Johnson)" <mj@...>
[#48315] [ruby-trunk - Bug #7220][Open] StringIO#initialize_copy causes aliasing between the objects — "brixen (Brian Ford)" <brixen@...>
[#48475] [ruby-trunk - Feature #3222] Can bignums have singleton class & methods? — "matz (Yukihiro Matsumoto)" <matz@...>
(2012/10/27 23:25), matz (Yukihiro Matsumoto) wrote:
[#48551] [ruby-trunk - Feature #7241][Open] Enumerable#to_h proposal — "nathan.f77 (Nathan Broadbent)" <nathan.f77@...>
On Tue, Oct 30, 2012 at 07:58:33PM +0900, rosenfeld (Rodrigo Rosenfeld Rosas) wrote:
Em 30-10-2012 16:23, Aaron Patterson escreveu:
[#48679] [ruby-trunk - Feature #905] Add String.new(fixnum) to preallocate large buffer — "headius (Charles Nutter)" <headius@...>
[ruby-core:47985] [ruby-trunk - Feature #6668] Multiple assignment should not return an Array object
Issue #6668 has been updated by headius (Charles Nutter).
I thought I replied to ko1, but must not have.
I believe MRI is using the same trick JRuby is...specifically, when the masgn's result is not used, it is not created. However, that does not help cases where masgn happens to be the last line in a method but its result is not used.
For example, the first case cannot optimize the masgn array away, but the second case can. The difference on even this small test is almost 2x GC runs:
system ~/projects/jruby $ ruby-2.0.0 -e "GC::Profiler.enable; class A; def initialize(a, b); @a, @b = a, b; end; end; 100000.times {A.new(1, 2)}; GC::Profiler.report"
GC 17 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC Time(ms)
1 0.012 187520 701760 17544 0.25600000000000100453
2 0.014 187520 701760 17544 0.23500000000000081934
3 0.017 187440 701760 17544 0.22700000000000150613
4 0.020 187440 701760 17544 0.23100000000000203704
5 0.023 187440 701760 17544 0.23700000000000109868
6 0.025 187440 701760 17544 0.22199999999999997513
7 0.028 187440 701760 17544 0.20999999999999838241
8 0.031 187440 701760 17544 0.23499999999999909850
9 0.033 187440 701760 17544 0.24400000000000116041
10 0.036 187440 701760 17544 0.22400000000000197531
11 0.039 187440 701760 17544 0.22599999999999703659
12 0.041 187440 701760 17544 0.22099999999999897504
13 0.044 187440 701760 17544 0.19999999999999878986
14 0.046 187440 701760 17544 0.20900000000000085176
15 0.049 187440 701760 17544 0.20699999999999885159
16 0.052 187440 701760 17544 0.23900000000000309885
system ~/projects/jruby $ ruby-2.0.0 -e "GC::Profiler.enable; class A; def initialize(a, b); @a, @b = a, b; nil; end; end; 100000.times {A.new(1, 2)}; GC::Profiler.report"
GC 9 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC Time(ms)
1 0.012 187400 701760 17544 0.26500000000000134559
2 0.017 187400 701760 17544 0.28699999999999903366
3 0.021 187360 701760 17544 0.23799999999999862932
4 0.025 187360 701760 17544 0.22500000000000297540
5 0.030 187360 701760 17544 0.20799999999999985167
6 0.034 187360 701760 17544 0.20599999999999785150
7 0.038 187360 701760 17544 0.20499999999999685141
8 0.042 187360 701760 17544 0.22099999999999897504
For a result that is used so rarely, it seems a shame to require masgn to always return an array when used as an expression.
----------------------------------------
Feature #6668: Multiple assignment should not return an Array object
https://bugs.ruby-lang.org/issues/6668#change-30666
Author: headius (Charles Nutter)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
Currently, when doing multiple assignment, the entire expression must return the right-hand side as an array.
system ~ $ ruby -e "ret = (a, b, c = 1, 2, 3); p ret"
[1, 2, 3]
This is an artifact of MRI's implementation, since multiple assignment was traditionally implemented by taking the array node on the right-hand side, standing it up as a full Ruby Array, and then peeling elements off for assignment on the left-hand side. It is also a performance issue, since it requires constructing the RHS array even when it is never used (unless you are able to do various compiler tricks). I propose removing it.
Justification:
* The feature is rarely used; most people don't even know it exists.
* The impact of creating the RHS array is significant; JRuby can optimize it away in cases where the line is not used as an expression, and the performance difference is huge: https://gist.github.com/3019255
* It is counter-intuitive to have an automatic performance hit just from grouping assignments. "a,b = 1,2" should have the exact same performance as "a = 1; b = 2"
Note that while JRuby can eliminate the array creation in non-expression cases, those are somewhat rare since many times masgn is used at the end of a method body, as for initializers:
class Foo
def initialize(a, b, c)
@a, @b, @c = a, b, c
end
end
JRuby and other implementations may get smart enough in our optimizers to eliminate the array in all cases where it's not needed, but this is a very large burden on the optimization subsystem. It may also not be possible to do in all cases (or not possible to do in even a majority of cases).
Multiple assignment should not return RHS as an array. I do not care what it returns.
--
http://bugs.ruby-lang.org/