Changeset 45d3453 in lab.git for misc


Ignore:
Timestamp:
Mar 6, 2014 5:38:23 PM (10 years ago)
Author:
Ken-ichi Mito <mitty@…>
Branches:
master
Children:
178d578
Parents:
8c96802
Message:

refactor concurrent loops

File:
1 edited

Legend:

Unmodified
Added
Removed
  • misc/httpbench.pl

    r8c96802 r45d3453  
    4949 
    5050my ($startsec, $startmicro) = gettimeofday(); 
    51 { 
     51for (my $child = 0; $child < $concurrency; $child++) { 
    5252    use bytes; 
    53     for (my $child = 0; $child < $concurrency; $child++) { 
    54         if ($pm->start) { 
    55             warn "forks $child/$concurrency child ...\n"; 
    56             next; 
     53    if ($pm->start) { 
     54        # parent 
     55        warn "forks $child/$concurrency child ...\n"; 
     56    } 
     57    else { 
     58        # child 
     59        my $transfer = 0; 
     60        for (my $i = 0; $i < $loops; $i++) { 
     61            print STDERR "processing $i/$loops loop\r"; 
     62            foreach my $url (@urls) { 
     63                my $res = $ua->get($url); 
     64                if ($res->is_success) { 
     65                    $transfer += length($res->content); 
     66                } 
     67                else { 
     68                    print STDERR "\nfail: $url"; 
     69                } 
     70                sleep($wait); 
     71            } 
    5772        } 
    58             my $transfer = 0; 
    59             for (my $i = 0; $i < $loops; $i++) { 
    60                 print STDERR "processing $i/$loops loop\r"; 
    61                 foreach my $url (@urls) { 
    62                     my $res = $ua->get($url); 
    63                     if ($res->is_success) { 
    64                         $transfer += length($res->content); 
    65                     } 
    66                     else { 
    67                         print STDERR "\nfail: $url"; 
    68                     } 
    69                     sleep($wait); 
    70                 } 
    71             } 
    7273        $pm->finish(0, \$transfer); 
    7374    } 
    74     $pm->wait_all_children; 
    7575} 
     76$pm->wait_all_children; 
    7677my ($endsec, $endmicro) = gettimeofday(); 
    7778my $elapsed = ($endsec - $startsec) + ($endmicro - $startmicro) / 10**6; 
Note: See TracChangeset for help on using the changeset viewer.