annotate example/regex_mas/time.pl @ 1685:3b8c12927f45 draft

insert Math::Round in regex_mas/time.pl
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Sat, 10 Aug 2013 13:52:13 +0900
parents 0b38dd5439d5
children 13ffed43fe68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/perl
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
2
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
3 # update 7th August 2013
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
4 # ./regex をcpu数と実行回数を設定して
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
5 # 実行時間のMAXとminとaverageを
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
6 # msで出力するスクリプト
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
7
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 use strict;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 use warnings;
1685
3b8c12927f45 insert Math::Round in regex_mas/time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1683
diff changeset
10 use Math::Round; #有効数字以下四捨五入
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
12 my $loop_counter = 0;
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 my $exec_result = 0;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 my $time_result = 0;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 my $total_time = 0;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 my $min_time = 0;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 my $max_time = 0;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 my $ave_time = 0; #average_time
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
20 if (@ARGV != 2) {
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
21 print("Usage: ./time.pl [cpu_num] [regex_exec_num]\n");
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
22 exit(0);
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
23 }
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
24
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
25 my $cpu_num = $ARGV[0];
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
26 my $loop_num = $ARGV[1];
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 print "------setting------\n";
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
28 print " cpu_num = $cpu_num\n";
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
29 print "regex_exec_num = $loop_num\n";
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 print "------result(ms)---\n";
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
32 while ($loop_counter < $loop_num){
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
34 $exec_result = `./regex -file c.txt -cpu $cpu_num`; #実行時のコマンドをここで入力
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 if($exec_result =~ /(\d+\.\d+)/ ){
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 $time_result = $1 * 1000; #元の単位がsなので、ここでmsに変換
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 if($min_time == 0) {$min_time = $time_result};
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 if($time_result < $min_time) {$min_time = $time_result};
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 if($time_result > $max_time) {$max_time = $time_result};
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 $total_time += $time_result;
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 }
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 #print "time:$time_result\n";
1683
0b38dd5439d5 insert error message regex_mas/time.pl .
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1681
diff changeset
47 ++$loop_counter;
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 }
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
1685
3b8c12927f45 insert Math::Round in regex_mas/time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1683
diff changeset
50 $ave_time = nearest(.001,$total_time / $loop_num); #小数点第4位未満四捨五入 (Math::Round)
1681
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 print "max:$max_time\n";
7bc7780e8ece add time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 print "min:$min_time\n";
1685
3b8c12927f45 insert Math::Round in regex_mas/time.pl
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents: 1683
diff changeset
54 print "ave:$ave_time\n";