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.


In reply to Re^4: object oriented performance by adrianh
in thread object oriented performance by burn8

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.