Time::HiResモジュールがないというコンパイルエラーが発生した際の対処方法
Time::HiResモジュールがないというコンパイルエラーが発生した際の対処方法
# perl -c test.pl
でコンパイルエラー発生
Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at test.pl line 4.
そんなときは、以下で解決
yum install perl-Time-HiRes
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: perl-Time-HiRes x86_64 4:1.9721-141.el6 base 49 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 49 k Installed size: 56 k Downloading Packages: perl-Time-HiRes-1.9721-141.el6.x86_64.rpm | 49 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 4:perl-Time-HiRes-1.9721-141.el6.x86_64 1/1 Verifying : 4:perl-Time-HiRes-1.9721-141.el6.x86_64 1/1 Installed: perl-Time-HiRes.x86_64 4:1.9721-141.el6 Complete!
これで、usleepが使えて、処理時間の計測ができる。 サンプルコードは、以下。
use strict; use Time::HiRes qw/ usleep /; my $microseconds = 5000; my $start_time = Time::HiRes::time; usleep ( $microseconds ); printf "%0.3fus\n",Time::HiRes::time - $start_time ;
実行結果は、 0.007us
っん?そんなにusleepは正確じゃないんだね。