スポンサーリンク

Perlベンチマークをする場合は Benchmarkモジュールを
利用すると簡単にベンチマークを計ることができます。

複数のサブルーチンをベンチマークするには、timetheseを使うのが便利です。

サンプルコード

#!/usr/local/bin/perl -w
use strict;
use warnings;

use Benchmark qw(timethese cmpthese);

sub doit1 {
	my $sum = 0;
	foreach my $i(1..10000) { $sum+=$i; }
	return $sum;
}
sub doit2 {
	my $sum = 1;
	foreach my $i(1..10000) { $sum*=$i; }
	return $sum;
}

timethese(50,{
	Doit1 => 'doit1',
	Doit2 => 'doit2',
	});

実行例

Benchmark: timing 50 iterations of Doit1, Doit2...
     Doit1:  1 wallclock secs ( 0.12 usr +  0.00 sys =  0.12 CPU) @ 400.00/s (n=50)
            (warning: too few iterations for a reliable count)
     Doit2:  0 wallclock secs ( 0.16 usr +  0.00 sys =  0.16 CPU) @ 304.76/s (n=50)
            (warning: too few iterations for a reliable count)


cmpthese

timetheseではなく、cmptheseを使うと比較表を出力してくれます。

cmpthese(50,{
		Doit1 => 'doit1',
		Doit2 => 'doit2',
		});

実行例

他のサブルーチンとの速度比較を表しています。
1番上がもっとも遅いコードで、1番したがもっとも速いコードです。
        Rate Doit2 Doit1
Doit2 3.00/s    --  -22%
Doit1 3.86/s   29%    --

参考
[2008-05-20-1]
参照しているページ (サイト内): [2009-04-27-1] [2008-08-24-2] [2008-08-24-1]

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー