Was läuft schneller in Ruby: Definition der Alias-Methode oder Verwendung von alias_method?

8

Was beim späteren Aufruf schneller ist:

%Vor%

oder

%Vor%

und wenn möglich warum?

(HINWEIS: Ich frage nicht, was schöner / besser ist usw. - & gt; nur die rohe Geschwindigkeit und warum es schneller ist, ist hier interessant)

    
Szymon Jeż 02.09.2011, 10:01
quelle

2 Antworten

7

ein kurzer Blick auf den Quellcode, zeigt Ihnen den Trick:

Ссылка

alias_method ist in C. geschrieben. Außerdem wird durch das Definieren einer Methode in Ruby, die eine andere Methode aufruft, zwei Methoden-Lookups und Aufrufe durchgeführt.

also, alias_method sollte schneller sein.

    
Andrea Pavoni 02.09.2011, 10:20
quelle
13

Zumindest in Ruby 1.8.6 scheint Aliasing schneller zu sein:

%Vor%

ergibt:

%Vor%

Offensichtlich haben Sie eine Methode weniger Anruf (Nachschlagempfänger ...). Es scheint also natürlich, dass es schneller ist.

    
undur_gongor 02.09.2011 10:08
quelle

Tags und Links