[#59445] [ruby-trunk - Bug #9335][Open] dynamic rescue regression in Ruby 2.1 — "fdr (Daniel Farina)" <daniel@...>
[#59462] [ruby-trunk - Bug #9342][Open] [PATCH] SizedQueue#clear does not notify waiting threads in Ruby 1.9.3 — "jsc (Justin Collins)" <redmine@...>
[#59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly — "normalperson (Eric Wong)" <normalperson@...>
Issue #9343 has been updated by Eric Wong.
[#59498] [ruby-trunk - Bug #9352][Open] [BUG] rb_sys_fail_str(connect(2) for [fe80::1%lo0]:3000) - errno == 0 — "kain (Claudio Poli)" <claudio@...>
[#59516] [ruby-trunk - Bug #9356][Open] TCPSocket.new does not seem to handle INTR — "charliesome (Charlie Somerville)" <charliesome@...>
Issue #9356 has been updated by Shugo Maeda.
[#59517] [ruby-trunk - Bug #9357][Open] TracePoint's c_return traces return from call to 'trace' — "andhapp (Anuj Dutta)" <anuj@...>
[#59538] [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — "shyouhei (Shyouhei Urabe)" <shyouhei@...>
Intersting challenge.
On 01/06/2014 04:52 PM, SASADA Koichi wrote:
On 01/06/2014 06:11 PM, Urabe Shyouhei wrote:
(2014/01/06 23:10), Urabe Shyouhei wrote:
On 01/07/2014 07:36 AM, SASADA Koichi wrote:
Hi, I noticed a trivial typo in array.c, and it fails building struct.c
Eric Wong <normalperson@yhbt.net> wrote:
Btw, I just pushed a few trivial fixes up (a few more failures below):
OK, last update of the night :o I think everything is good on 32-bit...
Eric Wong <normalperson@yhbt.net> wrote:
Btw, I started working on cachelined-time branch on git://80x24.org/ruby
Eric Wong <normalperson@yhbt.net> wrote:
On 01/06/2014 12:02 PM, Eric Wong wrote:
Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#59564] [ruby-trunk - Bug #9365][Open] Sporadic TypeError (wrong argument type Thread (expected VM/thread)) from IO#close (via Net:HTTP) — "ggiesemann (Geoffrey Giesemann)" <geoffwa@...>
Issue #9365 has been updated by Geoffrey Giesemann.
[#59728] Ruby 2.1.0 in Production: known bugs and patches — Aman Gupta <ruby@...1.net>
Last week, we upgraded the github.com rails app to ruby 2.1.0 in production.
Hello Aman,
[#59770] bug report did not propagate to ruby-core — Mean Login <meanlogin@...>
https://bugs.ruby-lang.org/issues/9416
[#59791] About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...>
A while ago I created a proof-of-concept that I intended to use in my
On 15 Jan 2014, at 11:58, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:
Em 15-01-2014 19:42, Eric Hodel escreveu:
On 16 Jan 2014, at 02:15, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:
Em 16-01-2014 19:43, Eric Hodel escreveu:
On 17 Jan 2014, at 04:22, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:
Em 17-01-2014 19:53, Eric Hodel escreveu:
On 18 Jan 2014, at 15:12, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:
Em 20-01-2014 21:51, Eric Hodel escreveu:
On 21 Jan 2014, at 02:01, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:
Em 21-01-2014 19:36, Eric Hodel escreveu:
[#59807] [ruby-trunk - misc #9421] [Open] [PATCH] doc/contributing.rdoc: allow/encourage other git hosts — normalperson@...
Issue #9421 has been reported by Eric Wong.
[#59882] [ruby-trunk - Feature #9428] [Rejected] Inline argument expressions and re-assignment — matz@...
Issue #9428 has been updated by Yukihiro Matsumoto.
On 2014/01/20 11:32, matz@ruby-lang.org wrote:
[#59909] [ruby-trunk - Feature #9425] [PATCH] st: use power-of-two sizes to avoid slow modulo ops — shyouhei@...
Issue #9425 has been updated by Shyouhei Urabe.
shyouhei@ruby-lang.org wrote:
[#60229] [ruby-trunk - Feature #9427] [Feedback] [PATCH] io.c: remove socket check for sendfile — akr@...
Issue #9427 has been updated by Akira Tanaka.
[#60377] Re: [ruby-cvs:51920] nobu:r44775 (trunk): socket.c: suppress warnings — Eric Wong <normalperson@...>
nobu@ruby-lang.org wrote:
[ruby-core:59711] [RFC] ih: new internal hash table
Was: Subject: Re: [ruby-core:59581] Re: [ruby-trunk - misc #9188] r43870 make
benchmark/bm_so_k_nucleotide.rb slow
Eric Wong <normalperson@yhbt.net> wrote:
> SASADA Koichi <ko1@atdot.net> wrote:
> > My concern is performance regression with huge entries of fstring table
> > with this technique. Maybe we can avoid such regression with smart data
> > structure (for example, do not use st).
>
> Yes, st_table_entry is gigantic, I think we should go back to unordered
> st for things where order does not matter. But we can probably do
> better for the fstring table, even.
I'm trying this new hash table out. There should be other things to
convert, and it can probably be tuned more. But it works, so far...
The design is based on st, but uses linked-list of cache-sized arrays
for chaining, so it's as if each bucket is an st-packed array. The
top-level buckets are one big flat array, and metadata overhead should
be low (users define entry size, so key/val need not be
uintptr_t-sized). Delete-while-iterating is probably be slower
than st, but I haven't tested that at all.
-------------------------------8<-----------------------------
ih: internal hash implementation + convert some larger tables
Introduce a new internal hash (ih) with minimal storage overhead for
use in internal tables where order does not matter. Performance
does not seem greatly affected[1], but memory usage seems improved
with only a few large, relatively static tables converted.
Lightly tested, but passes "make check".
running: /usr/bin/time ./ruby -v -e exit
ruby 2.2.0dev (2014-01-12 trunk 44573) [x86_64-linux]
before:
0.02user 0.00system 0:00.02elapsed 96%CPU (0avgtext+0avgdata 7432maxresident)k
0inputs+0outputs (0major+1931minor)pagefaults 0swaps
after:
0.02user 0.00system 0:00.02elapsed 96%CPU (0avgtext+0avgdata 7196maxresident)k
0inputs+0outputs (0major+1874minor)pagefaults 0swaps
Note the reduction in resident memory and pagefaults.
[1] - my numbers seem to vary between runs, could be power
management... Independent tests very welcome!
The following changes since commit 89a3450a5521922f1093307001c32b3bd5defc00:
test_bigmath.rb: ignore on unrelated platforms (2014-01-12 08:20:39 +0000)
are available in the git repository at:
git://80x24.org/ruby.git ih
for you to fetch changes up to 9984684ee7892ee86db9d39f266f273c0a155fe9:
ih: internal hash implementation + convert some larger tables (2014-01-12 09:09:07 +0000)
----------------------------------------------------------------
Eric Wong (1):
ih: internal hash implementation + convert some larger tables
common.mk | 5 +
enc/unicode.c | 80 ++++++++---
ih.c | 449 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ih.h | 82 +++++++++++
ihcommon.c | 25 ++++
parse.y | 157 +++++++++++++++-----
st.c | 9 +-
string.c | 101 ++++++++-----
8 files changed, 815 insertions(+), 93 deletions(-)
create mode 100644 ih.c
create mode 100644 ih.h
create mode 100644 ihcommon.c