Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: The Great Computer Language Shootout

by tilly (Archbishop)
on Sep 21, 2004 at 16:39 UTC ( [id://392706]=note: print w/replies, xml ) Need Help??


in reply to The Great Computer Language Shootout

Nobody wants Perl to be slow. But concrete suggestions are more useful for making it fast than generalized complaints. Furthermore on some items you'll find that there are difficult trade-offs and speed (or speed on the item that you may care about) is of lower priority than something else that you complain about.

To take the specific item that you complain about, I happen to know that Perl's regular expression engine could easily be sped up by removing a sanity check for pathological regular expressions. The result would be to speed up a lot of programs by an unnoticable amount, at the cost of making some pathological ones will surprise by taking a few billion years to finish. That change might make Perl look good on a benchmark, but would result in more bug reports. Do you really want that change?

Furthermore other areas of slowness are due to unavoidable design considerations. For instance Perl is a highly dynamic interpreted language. That is just never going to be as fast as a static compiled language. Which matters more to you, performance or programming convenience? If it is raw performance, then you're probably using the wrong language.

However I have good news for you. The Parrot project is creating a new version of Perl, and is very concerned with performance considerations. If you want to be of assistance, you could try implementing the shootout test suite in Parrot byte-code, submit that to the project, and identify specific performance issues that you uncover.

  • Comment on Re: The Great Computer Language Shootout

Replies are listed 'Best First'.
Re^2: The Great Computer Language Shootout
by Elian (Parson) on Sep 21, 2004 at 17:32 UTC
    However I have good news for you. The Parrot project is creating a new version of Perl, and is very concerned with performance considerations. If you want to be of assistance, you could try implementing the shootout test suite in Parrot byte-code, submit that to the project, and identify specific performance issues that you uncover.
    While I'm all up for performance shakeouts, one thing to keep in mind is that this version of the shootout needs Debian-installable packages of the languages in question to add them to the test. (So if someone wants to build a debian installer target for the Makefile... :)

      And if you do make a Parrot .deb for the shootout, don't forget to put in the optimizations. Since Parrot is still heavily under development, optimizations are turned off in the builds by default to help with debugging.

      "There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-16 17:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found