Chris Devers wrote:
On Thu, 24 Nov 2005, Pierre Smolarek wrote:
Lorenzo Caggioni wrote:
The program I written takes 25 sec for 10.000 line... too much....
How quickly do you need to it if 25 seconds is too long?
If 10,000 lines take 25 seconds, you're doing 400 lines per second.
At that rate, 15,000,000 lines will take 37,500 seconds, or 10h25m.
While asking for a firmer definition for "faster" is a fair question,
it's fair to assume that he wants to do better than 10.4 hours :-)
That said, the canned answer applies here. If the problem is --
1 Read Line from an input file
2 Validate the raw (for example: is second char == 2?)
3 Split the line
4 Write the validated and splitted raw in an output file with a
different order (for example: last 2 digits I have to write as
first 2 digits)
-- then, in order to give *any* constructive advice, we need:
* to see the code in question
* to know if the code has been benchmarked
If we can't see the code, we can't possibly offer useful suggestions.
If we don't have benchmark info to know what part of the code is taking
so long, we can't even speculate as to where to start optimizing things.
One of the suggestions in Damian Conway's _Perl Best Practices_ is a
simple piece of advice: "Don't Optimize Code -- Benchmark It". For
details, look over this excerpt from the book:
http://www.perl.com/lpt/a/2005/07/14/bestpractices.html
It's sound advice. The book's next suggestion -- which I can't seem to
find a reference to online, so you're just going to have to find a copy
of the book itself -- is "Don't optimize data structures -- measure
them." This is also sound advice. If you use a module like Devel::Size
to determine how space is being allocated, you can get a better sense of
where you might be choking on data and, in turn, have a sense of where
you need to fix things.
There's also Profil (Devel::Profil) to find out where you are spending
that 25 minutes.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>