Classメソッド読み出しの速度

まだ古めかしい世界です


classメソッドの読み出しはobjectのそれと比べて遅い

$ perl class.pl 
               Rate class_raw     class    object class_old
class_raw 1449275/s        --       -2%      -18%      -36%
class     1481481/s        2%        --      -16%      -35%
object    1769912/s       22%       19%        --      -22%
class_old 2272727/s       57%       53%       28%        --
$ perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi
#!/usr/bin/perl

use strict;

package Hoge;

sub new { bless {}, shift }
sub hoge { '1' }

package main;

use Benchmark;

my $object = Hoge->new;
my $class = 'Hoge';

Benchmark::cmpthese(2000000, {
    'class' => sub { $class->hoge },
    'class_raw' => sub { Hoge->hoge },
    'class_old' => sub { Hoge::hoge() },
    'object' => sub { $object->hoge },
});
created by blog.nomadscafe.jp

コメント

コメントはありません

コメントを投稿

コメントを投稿するにはログインが必要です