[#5563] Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...>

Lately, I've been thinking about the future of ruby

44 messages 2005/08/19
[#5564] Re: Non-overridable and non-redefinable methods — Austin Ziegler <halostatue@...> 2005/08/19

On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:

[#5571] Re: Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...> 2005/08/19

--- Austin Ziegler <halostatue@gmail.com> wrote:

[#5574] Re: Non-overridable and non-redefinable methods — TRANS <transfire@...> 2005/08/20

Just wanted to add a few things.

[#5581] Re: Non-overridable and non-redefinable methods — Austin Ziegler <halostatue@...> 2005/08/20

On 8/19/05, TRANS <transfire@gmail.com> wrote:

[#5583] Re: Non-overridable and non-redefinable methods — "David A. Black" <dblack@...> 2005/08/20

Hi --

[#5585] Re: Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...> 2005/08/20

--- "David A. Black" <dblack@wobblini.net> wrote:

[#5609] Pathname#walk for traversing path nodes (patch) — ES <ruby-ml@...>

Here is a small addition to Pathname against 1.9, probably suited

20 messages 2005/08/22

Re: Non-overridable and non-redefinable methods

From: Eric Mahurin <eric_mahurin@...>
Date: 2005-08-23 14:39:20 UTC
List: ruby-core #5649
--- SASADA Koichi <ko1@atdot.net> wrote:
> > Any opinion about the other topic I had - non-overridable
> > methods?  I'm mainly talking about stuff in Object -
> __send__,
> > __id__, equal?, nil?, etc.  If you knew these couldn't be
> > overridden (in a derived class - all other classes) or
> > redefined, you could in-line these as soon as you saw them.
> 
> > Much easier than the Fixnum#+ case discussed above where
> you
> > have to figure out that the object is always a Fixnum.
> 
> I've abandoned static ruby program analysis :P

What I'm talking about above (inlining certain methods in
Object tagged as non-overridable) wouldn't require any static
analysis because these methods would be independent of class.

It is unfortunate that you've abandoned static analysis.  I
think you could see huge performance improvements if you went
that route.  I believe you could approach C/C++ performance -
like Java is on every release.  To really go down this path,
you would have to recompile a method for each set of classes it
is called with (recursively).  So for one method in ruby, it
might be compiled into many methods statically typed and
possibly some partially or not static typed.  And you could
also in-line in the right places easily - because you know the
class.  Of course the big problem to all of this is redefinable
methods.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

In This Thread