ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Linux-AIO/lat_test
(Generate patch)

Comparing Linux-AIO/lat_test (file contents):
Revision 1.3 by root, Thu Aug 16 02:43:46 2001 UTC vs.
Revision 1.4 by root, Sun Jul 10 15:00:38 2005 UTC

7use File::Glob qw(); 7use File::Glob qw();
8 8
9my $START = time; 9my $START = time;
10my $SELECT; 10my $SELECT;
11 11
12for(File::Glob::glob "/fs/anime/eps/*Basara/*") { 12for(File::Glob::glob "/root/anime/eps/Crest*/*") {
13 my $fh; 13 my $fh;
14 print "$_\n"; 14 print "$_\n";
15 open $fh, "<", $_ or die "$_: $!"; 15 open $fh, "<", $_ or die "$_: $!";
16 push @fh, $fh; 16 push @fh, $fh;
17} 17}
18 18
19Linux::AIO::min_parallel 4; 19Linux::AIO::min_parallel 2;
20$nreqs = 8; 20$nreqs = 64;
21 21
22my $lat; 22my $lat;
23my $cnt = 1e-36; 23my $cnt = 1e-36;
24 24
25$|=1; 25$|=1;
28 my $fh = @fh[rand @fh]; 28 my $fh = @fh[rand @fh];
29 my $offset = int rand 75000000; 29 my $offset = int rand 75000000;
30 my $data; 30 my $data;
31 my $start = time; 31 my $start = time;
32 #print "starting new req ($fh, $offset)\n"; 32 #print "starting new req ($fh, $offset)\n";
33 aio_read($fh, $offset, 16*1024, $data, 0, sub { 33 aio_read ($fh, $offset, 16*1024, $data, 0, sub {
34 $start = time - $start; 34 $start = time - $start;
35 $lat += $start; 35 $lat += $start;
36 $cnt++; 36 $cnt++;
37 #print "io returned ($fh, $offset, $start)\n"; 37 #print "io returned ($fh, $offset, $start)\n";
38 }); 38 });
45while(1) { 45while(1) {
46 if (Linux::AIO::nreqs < $nreqs) { 46 if (Linux::AIO::nreqs < $nreqs) {
47 gen_request; 47 gen_request;
48 } else { 48 } else {
49 $SELECT -= time; 49 $SELECT -= time;
50 Linux::AIO::poll_wait;
50 my $r; 51 my $r;
51 select $r = $sr, undef, undef, undef; 52 select $r = $sr, undef, undef, undef;
52 $SELECT += time; 53 $SELECT += time;
53 } 54 }
54 Linux::AIO::poll_cb; 55 Linux::AIO::poll_cb;
55 printf "\r$lat $cnt %.2f %.3f ", $lat / $cnt, $SELECT/(time - $START); 56 printf "\r$lat $cnt %.4f %.3f ", $lat / $cnt, $SELECT/(time - $START);
56} 57}
57 58

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines