Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Why use <$fh> at all?

by PodMaster (Abbot)
on Oct 05, 2002 at 01:42 UTC ( [id://202961]=note: print w/replies, xml ) Need Help??


in reply to Why use <$fh> at all?

What's this mean?
sub sub1 { my $fh; open $fh, 'vsfull.csv'; binmode $fh; my @lines; my $block; my $left = ''; while( read $fh, $block, 8192 ){ $block = $left . $block; my $i = index $block, "\n"; while($i > 0){ push @lines, substr($block,0,$i); substr($block,0,$i+1,''); $i = index $block, "\n"; } $left = $block; } } sub sub2 { my $fh; my @lines; open $fh, 'vsfull.csv'; while(<$fh>){ push @lines, $_ }; } sub sub3 { my $fh; open $fh, 'vsfull.csv'; my @lines = <$fh>; } sub sub4 { my $fh; open $fh,'vsfull.csv';my @lines = readline($fh); } #Hmark:: use Benchmark 'cmpthese'; cmpthese( -3, { readbig => \&sub1, whilelp => \&sub2, better => \&sub3, butter => \&sub4, }); __END__ Benchmark: running better, butter, readbig, whilelp, each for at least + 3 CPU seconds... better: 3 wallclock secs ( 2.20 usr + 1.02 sys = 3.22 CPU) @ 37 +2.36/s (n=1199) butter: 3 wallclock secs ( 2.17 usr + 1.04 sys = 3.21 CPU) @ 37 +3.52/s (n=1199) readbig: 3 wallclock secs ( 3.01 usr + 0.12 sys = 3.13 CPU) @ 52 +.72/s (n=165) whilelp: 3 wallclock secs ( 2.17 usr + 1.02 sys = 3.19 CPU) @ 27 +2.10/s (n=868) Rate readbig whilelp better butter readbig 52.7/s -- -81% -86% -86% whilelp 272/s 416% -- -27% -27% better 372/s 606% 37% -- -0% butter 374/s 609% 37% 0% --

____________________________________________________
** The Third rule of perl club is a statement of fact: pod is sexy.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://202961]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-04-23 20:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found