Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

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.

Replies are listed 'Best First'.
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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2018-05-27 16:16 GMT
Find Nodes?
    Voting Booth?