[#8136] Confused exception handling in Continuation Context — "Robert Dober" <robert.dober@...>

Hi all

13 messages 2006/07/06

[#8248] One-Click Installer: MinGW? or VC2005? — "Curt Hibbs" <ml.chibbs@...>

I just posted this to ruby-talk. But I would also like to discuss this

33 messages 2006/07/18
[#8264] Re: One-Click Installer: MinGW? or VC2005? — Charlie Savage <cfis@...> 2006/07/19

From my experience using both tool chains on Windows (for the ruby-prof

[#8266] Re: One-Click Installer: MinGW? or VC2005? — "Curt Hibbs" <ml.chibbs@...> 2006/07/19

Tim, I'm going to top reply since your post was so long. I'm interested in

[#8267] Re: One-Click Installer: MinGW? or VC2005? — Charlie Savage <cfis@...> 2006/07/19

> Tim, I'm going to top reply since your post was so long. I'm interested in

[#8271] my sandboxing extension!! — why the lucky stiff <ruby-core@...>

I have (what feels like) very exciting news. I finally sat down to code up my

17 messages 2006/07/19

[#8430] Re: doc patch: weakref. — "Berger, Daniel" <Daniel.Berger@...>

> -----Original Message-----

19 messages 2006/07/28
[#8434] Re: doc patch: weakref. — Yukihiro Matsumoto <matz@...> 2006/07/29

Hi,

[#8436] Re: doc patch: weakref. — Daniel Berger <djberg96@...> 2006/07/29

Yukihiro Matsumoto wrote:

[#8437] Re: doc patch: weakref. — Mauricio Fernandez <mfp@...> 2006/07/29

On Sat, Jul 29, 2006 at 07:37:24PM +0900, Daniel Berger wrote:

[#8441] Inconsistency in scoping during module_eval? — "Charles O Nutter" <headius@...>

I have the following code:

18 messages 2006/07/30
[#8442] Re: Inconsistency in scoping during module_eval? — nobu@... 2006/07/30

Hi,

[#8443] Re: Inconsistency in scoping during module_eval? — "Charles O Nutter" <headius@...> 2006/07/30

Why does this:

[#8445] Re: Inconsistency in scoping during module_eval? — Yukihiro Matsumoto <matz@...> 2006/07/30

Hi,

[#8454] Re: Inconsistency in scoping during module_eval? — "Charles O Nutter" <headius@...> 2006/07/31

So to clarify...

bypassing method lookup/call overhead

From: "Eric Mahurin" <eric.mahurin@...>
Date: 2006-07-31 03:57:16 UTC
List: ruby-core #8457
From performance testing that I've looked at with a C extension, it
looks like the overhead of method lookup and calling (rb_funcall) is a
major bottleneck.  Is there an accepted way to precalculate the final
C function pointer (or something close to it) and use this when you
are dealing with a constant variable or even variable with a constant
class?  Looking in eval.c, it looks like method_call would do a
partial job of this (at least bypassing the method lookup) using a
Method object.  Unfortunately, this isn't made available in ruby.h.

Even better would be a way to do this in ruby.  I tried two possibilities:

a. Use #method to look up the method and #call it later.  Possibly
useful for constant variables.

b. Use #method, convert it to a block with unary &, and have another
method yield to it.  Only useful if to speed up one method call of a
constant variable.

Unfotunately, both of these were slower.  The block/yield experiment
was several times slower.  Based on the fact that a block is much
closer to a function pointer (not a full Proc object), I would have
hoped this would be faster.  I guess converting the method to a block
wasn't much different than #call'ing the method from a separate block.

Any better ideas?

In This Thread

Prev Next