steves has asked for the wisdom of the Perl Monks concerning the following question:

A very open ended question I know ... We upgraded a Solaris box from 5.6.1 to 5.8.0. Initial timing tests show the 5.8.0 system to be up to 50% slower. The apps in question do a lot of database and file access so this may not be Perl at all. What I'm looking for is any experiences anyone may have had in this area, good or bad, so we can try to focus on the areas of greatest return first. This is a Sun Solaris 2.8 system; most DB access is to Oracle via DBI.

Replies are listed 'Best First'.
Re: Speed of 5.8.0 versus 5.6.1
by hardburn (Abbot) on Jul 01, 2003 at 13:15 UTC

    Is your 5.8.0 version compiled with threading support? If so, recompile it with it off. Also, there is a new hashing algorithm, which may be faster for some data and slower for others.

    I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
    -- Schemer

    Note: All code is untested, unless otherwise stated

      No threading and not using Unicode (since I have read that Unicode operations can be slower).

Re: Speed of 5.8.0 versus 5.6.1
by BrowserUk (Pope) on Jul 01, 2003 at 13:46 UTC

    Suggestion: Profile a couple of the scripts that show the greatest difference, under 5.61 and 5.8. That should highlight were the differences are and may allow you to make specific changes to redress the balance.

    If you post your findings here, then somebody may be able to suggest work-arounds for specific areas. I have noted a certain amount of slowdown between the 2 versions, but nothing like 50%. That really does sound like you have a specific problem that could probably be addressed.

    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller

      Depending on the keys you are using for hashes 5.6.1 -> 5.8.x can be just about 50% slower, so look for tight loops with hash keys being set as the culprit. If they can't be refactored consider having a 5.6.1 tree somewhere for those apps. (unless you need unicode support or stable threading)

Re: Speed of 5.8.0 versus 5.6.1
by samtregar (Abbot) on Jul 01, 2003 at 18:10 UTC
    50% is pretty much the accepted slow-down going from 5.6.1 to 5.8.0. This is the only reason I'm not developing in 5.8.0 currently is the huge performance penalty. I hope 5.8.1 is better.


      Not that I doubt you, but I would be very much interested in hearing where you came across this so frequently that you chose "pretty much the accepted"? I typically don't care about speed at home (running 5.8), but really need it at work (5.6.1).

      Cheers - L~R

        Around the time 5.8.0 came out there were threads on perl5-porters analyzing the performance of 5.8.0 relative to earlier releases. My foggy memory of the discussion features the "50%" figure prominently.