[#15707] Schedule for the 1.8.7 release — "Akinori MUSHA" <knu@...>

Hi, developers,

21 messages 2008/03/01

[#15740] Copy-on-write friendly garbage collector — Hongli Lai <hongli@...99.net>

Hi.

31 messages 2008/03/03
[#15742] Re: Copy-on-write friendly garbage collector — Yukihiro Matsumoto <matz@...> 2008/03/03

Hi,

[#15829] Re: Copy-on-write friendly garbage collector — Daniel DeLorme <dan-ml@...42.com> 2008/03/08

Yukihiro Matsumoto wrote:

[#15756] embedding Ruby 1.9.0 inside pthread — "Suraj Kurapati" <sunaku@...>

Hello,

18 messages 2008/03/03
[#15759] Re: embedding Ruby 1.9.0 inside pthread — Nobuyoshi Nakada <nobu@...> 2008/03/04

Hi,

[#15760] Re: embedding Ruby 1.9.0 inside pthread — Yukihiro Matsumoto <matz@...> 2008/03/04

Hi,

[#15762] Re: embedding Ruby 1.9.0 inside pthread — "Suraj N. Kurapati" <sunaku@...> 2008/03/04

Yukihiro Matsumoto wrote:

[#15783] Adding startup and shutdown to Test::Unit — Daniel Berger <Daniel.Berger@...>

Hi all,

15 messages 2008/03/04

[#15835] TimeoutError in core, timeouts for ConditionVariable#wait — MenTaLguY <mental@...>

I've been reworking JRuby's stdlib to improve performance and fix

10 messages 2008/03/09

[#15990] Recent changes in Range#step behavior — "Vladimir Sizikov" <vsizikov@...>

Hi,

35 messages 2008/03/23
[#15991] Re: Recent changes in Range#step behavior — Dave Thomas <dave@...> 2008/03/23

[#15993] Re: Recent changes in Range#step behavior — "Vladimir Sizikov" <vsizikov@...> 2008/03/23

Hi Dave,

[#15997] Re: Recent changes in Range#step behavior — Dave Thomas <dave@...> 2008/03/23

[#16024] Re: Recent changes in Range#step behavior — "Vladimir Sizikov" <vsizikov@...> 2008/03/26

Hi Dave,

[#16025] Re: Recent changes in Range#step behavior — Yukihiro Matsumoto <matz@...> 2008/03/26

Hi,

[#16026] Re: Recent changes in Range#step behavior — Dave Thomas <dave@...> 2008/03/26

[#16027] Re: Recent changes in Range#step behavior — Yukihiro Matsumoto <matz@...> 2008/03/26

Hi,

[#16029] Re: Recent changes in Range#step behavior — Dave Thomas <dave@...> 2008/03/26

[#16030] Re: Recent changes in Range#step behavior — Yukihiro Matsumoto <matz@...> 2008/03/26

Hi,

[#16031] Re: Recent changes in Range#step behavior — Dave Thomas <dave@...> 2008/03/26

[#16032] Re: Recent changes in Range#step behavior — "Vladimir Sizikov" <vsizikov@...> 2008/03/26

On Wed, Mar 26, 2008 at 7:01 PM, Dave Thomas <dave@pragprog.com> wrote:

[#16033] Re: Recent changes in Range#step behavior — Dave Thomas <dave@...> 2008/03/26

[#16041] Re: Recent changes in Range#step behavior — David Flanagan <david@...> 2008/03/26

Dave Thomas wrote:

Re: some Enumerable methods slower in 1.9 on OS X after revision 15124

From: Paul Brannan <pbrannan@...>
Date: 2008-03-27 13:31:31 UTC
List: ruby-core #16049
On Thu, Mar 27, 2008 at 02:26:51PM +0900, Nobuyoshi Nakada wrote:
> Should the priority be _setjmp > sigsetjmp > setjmp?

I think it may depend on the platform.  I ran across this the other day
while trying to decide whether I could afford the overhead of a call to
rb_protect():

http://bugs.opensolaris.org/view_bug.do;jsessionid=3681352170809a64f236f8b6ec?bug_id=4404612

Quote:

  One of the 'big wins' I discovered was to rebuild perl so that it used setjmp
  instead of the default sigsetjmp.  This gave about an 18% performance boost.
  It turns out that the perl interpreter calls sigsetjmp every time it enters a
  new block scope, and the libexacct module does this a lot, which is why the
  setjmp/sigsetjmp difference is so noticeable.  I wrote a micro benchmark to
  time how long setjmp and sigsetjmp took.

  Here are the results for sparc (450Mhz):

  Loop overhead: 22 ns/iter
  setjmp(jb): 37 ns/call
  sigsetjmp(sjb, 0): 11774 ns/call
  sigsetjmp(sjb, 1): 11891 ns/call

  and here are the results for i386 (600MHz):

  Loop overhead: 2 ns/iter
  setjmp(jb): 25 ns/call
  sigsetjmp(sjb, 0): 1963 ns/call
  sigsetjmp(sjb, 1): 1975 ns/call
  mongo$ 

  Linux (laptop 360MHz) gives:

  Loop overhead: 16 ns/iter
  setjmp(jb): 101 ns/call
  sigsetjmp(sjb, 0): 101 ns/call
  sigsetjmp(sjb, 1): 1288 ns/call

It seems there exist platforms where setjmp is preferable over
sigsetjmp with the second parameter set to 0.

Paul


In This Thread