http://qs321.pair.com?node_id=475529


in reply to object oriented performance

Sounds like your professor was just trying to demean Perl. Yes, there's a performance hit. But many times there are other things that are slowing down your program, usually the least of which would be Perl itself.

Replies are listed 'Best First'.
Re^2: object oriented performance
by pg (Canon) on Jul 17, 2005 at 04:07 UTC

    You didn't follow his question.

    His professor was comparing Perl and OO-Perl - two different approaches of coding in Perl, not comparing Perl with some other languages. In this case, the "other things" you mentioned are most likely cannot be used as reasons.

      You didn't follow his question.

      And you didn't follow my reply.

      I never said the professor was comparing Perl to other languages.

Re^2: object oriented performance
by adrianh (Chancellor) on Jul 17, 2005 at 17:27 UTC
    Sounds like your professor was just trying to demean Perl

    I can't see how stating facts (or close approximations thereof) is demeaning.

      He exluded the fact that sub calls and oo calls are almost never higher than 5% of total runtime of an app (unless you have some very tight loops that were not unwound to deal with the slowness of both). So he implied that oo-perl was 30% slower ehn in fact it is usuqally a few percent slower in a real app.


      -Waswas
        He exluded the fact that sub calls and oo calls are almost never higher than 5% of total runtime of an app (unless you have some very tight loops that were not unwound to deal with the slowness of both). So he implied that oo-perl was 30% slower ehn in fact it is usuqally a few percent slower in a real app.

        All we know from the OP is that the prof said

        using the object oriented functionality in Perl would introduce a performance hit of approximately 30%

        No mention of method call times (which which are only 10-15% slower these days anyway). Method calls certainly slow OO Perl, but good OO Perl will also have other areas that would slow it down as compared to an imperative solution.

        As the TheDamian said in his book on OO Perl:

        ... an object-oriented implementation of a system in Perl will almost never be faster than the equivalent non-object-oriented implementation, and will usually be somewhere between 20 to 50 percent slower.

        and I don't think he can be accursed of demeaning Perl :-)

        If the OP's prof had said "object oriented functionality in Perl would introduce a performance hit of approximately 30% and so you shouldn't use it" then they're an idiot I agree, but a 30% performance hit sounds about right for a large codebase - and I'll happily take it for the increased maintainability an OO solution would give me.

      I can't see how stating facts (or close approximations thereof) is demeaning.

      It depends on how you say it and the context. And I never said he was being demeaning.