Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Re: Re: Re: Extreme Example of TMTOWTDI

by demerphq (Chancellor)
on Mar 25, 2002 at 12:03 UTC ( #154075=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Extreme Example of TMTOWTDI
in thread Extreme Example of TMTOWTDI

Actually the create a filehandle on demand is not as efficient as building the array (on any box with a reasonable amount of memory that is.) If you have a look at my earlier comment this is exactly the technique that I used in my solution, and it required some counter-intuitive tweaking before it became competetive with the array building technique.

The reason seems to be twofold. First the reading loop has a higher overhead because it needs to do an extra operation per line read. Second it seems that there is an overhead associated with swapping between cached filehandles. Before my solution was competetive (and it started life looking much the same as your solution) I had to replace the open on demand, with a preopen for each file (which obviously is only feasible in some situations).

Anyway, nice explanation of the technique.

Yves / DeMerphq
Writing a good benchmark isnt as easy as it might look.

  • Comment on Re: Re: Re: Re: Extreme Example of TMTOWTDI

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://154075]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (6)
As of 2017-02-23 01:20 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (338 votes). Check out past polls.