Regardless of how pointers, buffering and whatnot are handled for DATA, there's two obvious considerations to make here:
- When iterating over an array, perl's simply walking down a list of scalar-structures already assembled and ready to be used. When reading the filehandle, this data has to be taken from the input buffers and put into an sv before it can be dealt with. There's one chunk of overhead.
- The other chunk of overhead is the fact that to get to the data in DATA, perl has to pass all of this data through all of its I/O code -- reading, keeping track of filehandle meta-information, manipulating buffers. It's cheap (with buffering) but it's not that cheap.
Others feel free to pile on.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|