[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28937] Re: st.c: pool allocator for tables and entries

From: Aaron Patterson <aaron@...>
Date: 2010-03-24 16:35:54 UTC
List: ruby-core #28937
On Wed, Mar 24, 2010 at 07:43:56PM +0900, NARUSE, Yui wrote:
> (2010/03/22 17:05), Eric Wong wrote:
> >Hi all,
> >
> >I started playing around with pool allocator for Ruby 1.9 for hashes.  I
> >cooked this up for an app that generates lots of Hashes.  After getting
> >some performance improvements from tweaking constants inside gc.c for
> >the app and using bsdmalloc[1], I still got a ~10% runtime reduction
> >with this small change (for one particular app).
> >
> >This assumes st.c is only called inside GVL, and GVL == GIL which is
> >true these days in 1.9.1 and trunk.
> >
> >The only other downside is that memory used for each type of struct
> >cannot be used anything else, nor released back to the OS (though some
> >malloc implementations don't do this anyways).
> >
> >I've sized both of the pools conservatively (8K) for now.
> >
> >Further testing and benchmarks results on different apps and comments
> >would be greatly appreciated.
> >
> >This patch should apply cleanly to trunk, and works with 1.9.1, too.
> >
> >[1] I used bsdmalloc from here: git://github.com/ice799/bsdmalloc
> 
> st.c is used not only from GC, but by other extensions.
> 
> I don't know whether st.h is public API or not.
> But if a library uses st_table in multi thread way,
> it will break when st_table become thread unsafe.

FWIW, Nokogiri uses st.h.

-- 
Aaron Patterson
http://tenderlovemaking.com/

In This Thread