It might be. But if there is more than one way of doing it, running speed is only one of the deciding factors, and often not the most important one. And its importantness rapidly decreases when the running speed difference is small.
But you weren't asking that. You didn't say "This is what I want, which if the following methods is faster" (in which case, you wouldn't have asked, you'd have written a benchmark, right?). Instead you asked an enormously general question, so general, it's almost meaningless.
But I can give you some answers. Read them, and you know how meaningless your question was.
- Avoid doing anything in Perl. Do it in C, bind it with XS to Perl.
- Avoid doing anything. Anything you do cost time, so anything you don't do saves time.
- Don't use regexes. They are slow in the best case, and very slow in the worst case.
- Avoid variables (and values) as much as possible. Each new variable (and often new values as well) causes memory allocation. More memory slows down the program.
- Hashes are slower than arrays.
- ....
Those are answers to your questions. And I'm not making them up, they're all true. But they aren't useful answers - you have a problem you want to solve, and you want to write quality, maintainable code. So, you are going to write it in Perl. And you will use variables. And if the problem calls for it, you will use hashes. And/or regexes. | [reply] |
Yes, but like all the others answered, there are ways to write Perl more efficiently, while not sacrificing the quality of the code. And the best idea was indeed to use a profiler, which I am analyzing right now
"Don't use Perl" might be correct, but it's not very useful for me.
"I think that Perl 5.10's new switch is a very cool feature, but I think it might be a bit slow and not the best idea when running a program that takes a couple of hours" would be a much more useful reply if it was true.
Like I said, I was looking for a few tips and ideas on how to increase my program's efficiency, and I did get a few tips and ideas that were indeed useful. And although in most cases Perl will not be the best language to use if you want something very very fast, I still think efficiency in Perl is an interesting and important question in at least some of the cases
BR
Guy Naamati
| [reply] |