From: Eric Wong Date: 2016-03-06T00:31:30+00:00 Subject: [ruby-core:74174] Re: [Ruby trunk Feature#12142] Hash tables with open addressing Encouraging performance results! I didn't test fully, but "make test-all" gets stuck for me test_callcc of TestHash: make test-all TESTS=test/ruby/test_hash.rb I'm on Debian wheezy, x86-64 gcc-4.7.real (Debian 4.7.2-5) 4.7.2 There may be other tests which fail, but I didn't investigate further. Other notes (mostly reiterating other comments): In my experience, more users complain about memory usage than performance since Ruby 1.9/2.x days. Maybe it's because traditionally, the Ruby ecosystem did not have great non-blocking I/O or thread support; users find it easier to fork processes, instead. Small hashes are common in Ruby and important to parameter passing, ivar indices in small classes, short-lived statistics, and many other cases. Because hashes are so easy-to-create, Rubyists tend to create many of them. st.h is unfortunately part of our public C API; so num_entries shouldn't change. I propose we hide the new struct fields somehow in similar fashion to private_list_head or at least give them scary names which discourage public use. Anyways, I'm excited about these changes and hope we can get the most of the benefits without the downsides. Unsubscribe: