There is a always tradeoff between file open/close operations and spawning children.

This will vary somewhat from computer to computer. On my own machine, I got nearly identical timings for the "child_grep" and the "inline_perl" routines.

This may also vary depending on the data set. When I used a data.txt which was only one tenth the size, the "inline_perl" routine was actually five times faster than the "child_grep". When the data file got larger, the "child_grep" became the faster choice by a reasonable margin.

A lot of this depends on where your computer's bottlenecks are. Is the data file on your local disk, or being served over NFS? (And are the NFS files being cached?) Are you low on memory? Is your processor too slow to keep up?

I think you will also find as a general rule that "inline_grep" is slower than "inline_perl", especially if a match occurs early in the data set and you can jump out of the "inline_perl" loop early with a "last" command.


In reply to Re: Groking grep by Anonymous Monk
in thread Groking grep by spaz

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.