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

Re: Optimizing I/O intensive subroutine

by chromatic (Archbishop)
on Oct 26, 2012 at 16:16 UTC ( #1001118=note: print w/ replies, xml ) Need Help??

in reply to Optimizing I/O intensive subroutine

What happens if you return an array reference instead of an array at the end of this function? (Depending on how large $limit is, you might cause Perl to copy a lot of data.)

What happens if, instead of reading the whole file into an array and then sorting it, you keep track of the largest n lines you've seen and read the file line by line?

Improve your skills with Modern Perl: the free book.

Comment on Re: Optimizing I/O intensive subroutine
Download Code
Re^2: Optimizing I/O intensive subroutine
by Anonymous Monk on Oct 26, 2012 at 16:30 UTC

    The latter suggestion is more promising.

    Looking at the timings, the bulk of the time is in the split (20.4 s) and the push @lines (16.2s)

      Ah, I didn't see there was a second image. Good catch.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2015-01-27 04:10 GMT
Find Nodes?
    Voting Booth?

    My top resolution in 2015 is:

    Results (197 votes), past polls