[#41916] Proposal: Bitmap Marking GC — Narihiro Nakamura <authornari@...>

Hi.

18 messages 2012/01/05

[#41941] [ruby-trunk - Bug #5851][Open] make check fails when compiling with GCC 4.7 - *** longjmp causes uninitialized stack frame *** — Vit Ondruch <v.ondruch@...>

12 messages 2012/01/06

[#41979] [ruby-trunk - Bug #5865][Open] Exception#== should return false if the classes differ — Hiro Asari <asari.ruby@...>

10 messages 2012/01/08

[#42003] [ruby-trunk - Bug #5871][Open] regexp \W matches some word characters when inside a case-insensitive character class — Gareth Adams <gareth@...>

14 messages 2012/01/09

[#42016] [ruby-trunk - Feature #5873][Open] Adopt FFI over DL — Heesob Park <phasis@...>

15 messages 2012/01/10

[#42149] [ruby-trunk - Feature #5899][Open] chaining comparsions. — Ondrej Bilka <neleai@...>

12 messages 2012/01/16

[#42164] [ruby-trunk - Feature #5903][Open] Optimize st_table (take 2) — Yura Sokolov <funny.falcon@...>

18 messages 2012/01/17

[ruby-core:42221] [ruby-trunk - Feature #5789][Closed] Optimize st_table

From: Yui NARUSE <naruse@...>
Date: 2012-01-23 06:53:12 UTC
List: ruby-core #42221
Issue #5789 has been updated by Yui NARUSE.

Status changed from Open to Closed

Merged in r34309-r34314
----------------------------------------
Feature #5789: Optimize st_table
https://bugs.ruby-lang.org/issues/5789

Author: Yura Sokolov
Status: Closed
Priority: Normal
Assignee: 
Category: core
Target version: 


I prepared couple of patches to optimize st_table performance.

First patch (st_func.patch) is a trivial translation of some macroses to functions,
but it gives ~4% of improvement on gcc-4.5.2 32bit (sorry for not testing other environments).

Second patch (st_pack_table) provides packing for tables sized upto 12 entries.
It gives countable memory footprint reduction and measurable performance improvement
(~8% compared to trunk, ~4% compared to st_func.patch).
Note: synthetic benchmark could show some performance degradation, so that there
could be some exotic workload, which suffer from patch.
But realworld application (and even make check) runs uniformly faster.

Correlated github pull requests are https://github.com/ruby/ruby/pull/70 and https://github.com/ruby/ruby/pull/71




-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next