[#64703] Add `Hash#fetch_at` (issue #10017) — Wojtek Mach <wojtek@...>
Hey guys
1 message
2014/09/01
[#64711] [ruby-trunk - Bug #10193] [Closed] TestIO#test_readpartial_locktmp fails randomly — nobu@...
Issue #10193 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/02
[#64744] [ruby-trunk - Bug #10202] [Open] TestBenchmark#test_realtime_output breaks on ARM — v.ondruch@...
Issue #10202 has been reported by Vit Ondruch.
3 messages
2014/09/03
[#64823] documenting constants — Xavier Noria <fxn@...>
I am writing a Rails guide about constant autoloading in Ruby on
5 messages
2014/09/07
[#64838] [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus — ko1@...
Issue #10212 has been reported by Koichi Sasada.
6 messages
2014/09/08
[#64858] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— Eric Wong <normalperson@...>
2014/09/08
rb_env_t may use a flexible array, helps a little even on my busy system:
[#64871] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— SASADA Koichi <ko1@...>
2014/09/08
(2014/09/08 19:48), Eric Wong wrote:
[#64972] [ruby-trunk - Bug #10231] [Open] Process.detach(pid) defines new singleton classes every call — headius@...
Issue #10231 has been reported by Charles Nutter.
3 messages
2014/09/11
[#64980] [ruby-trunk - Bug #10212] MRI is not for lambda calculus — ko1@...
Issue #10212 has been updated by Koichi Sasada.
4 messages
2014/09/12
[#65142] [ruby-trunk - Feature #10267] [Open] Number of processors — akr@...
Issue #10267 has been reported by Akira Tanaka.
4 messages
2014/09/20
[#65144] Re: [ruby-trunk - Feature #10267] [Open] Number of processors
— Eric Wong <normalperson@...>
2014/09/20
akr@fsij.org wrote:
[#65210] [ruby-trunk - misc #10278] [Assigned] [RFC] st.c: use ccan linked list — nobu@...
Issue #10278 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/22
[ruby-core:64950] Re: [ruby-trunk - Feature #9614] [Open] ordering of non-Hash items which use st_ internally
From:
Eric Wong <normalperson@...>
Date:
2014-09-11 06:23:51 UTC
List:
ruby-core #64950
I forget, ordering is easy to add to ihash with ccan/list. Work-in-progress, this is only for method entries with ihash ordered doing "ruby -e exit" (loading rubygems) Numbers from valgrind, so "bytes allocated" does not take into account malloc overhead of particular malloc implementations: st (original): total heap usage: 48,119 allocs, 19,169 frees, 8,106,443 bytes allocated ihash-unordered total heap usage: 45,571 allocs, 19,501 frees, 8,038,885 bytes allocated ihash-ordered: total heap usage: 45,571 allocs, 19,501 frees, 8,089,941 bytes allocated The reduction in overall malloc/free calls is nice; but bytes allocated is small because we're dealing with small elements. This makes method entries much bigger (1 pointer for hash chaining, 2 pointers for list_node), but reduces the need to make separate allocations for st_table_entry. 1. http://bogomips.org/ruby.git/patch/?id=3930d8172dea41cd ihash: initial implementation 2. http://bogomips.org/ruby.git/patch/?id=02334f26a0c2a1f5 convert method entries to unordered ihash 3. http://bogomips.org/ruby.git/patch/?id=fcf8e764bcd5a1c1 preserve ordering in method entries git clone git://bogomips.org/ruby.git branch=ihash7 (I also started working on constants, but haven't added ordering, yet). Running benchmark suite now, I expect uncached method entries for larger classes/modules should be faster due to reduced indirection as described in [ruby-core:62578] For small (currently <=5) element tables, it is like st-packed and does a linear search (which will cross cache lines, unfortunately)