I have a different viewpoint: abstraction can be an aid to performance.
Here's an example: the perl interpreter is written in C, yet for many string matching tasks, perl's regular expression engine is faster than hand-crafted C code. That sounds like a contradiction, but for most tasks the speed of string matching is not worth spending several man-years of development time on. Every time you use the regexp engine, you are leveraging the many man-years of development that have gone into making it fast.
Regular expressions (and the irregular extensions available in perl) are an example of an abstraction that gain you performance by letting you use someone else's work. The better the abstraction, the more widely applicable it is, the more benefit stands to be gained.
And by using abstractions that hide the gory details of highly optimised code, it frees up my precious development time to find performance wins in other parts of the code, or to write a Sudoku solver.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||