in reply to Re: Count byte/character occurrence (1/4)
in thread Count byte/character occurrence (quickly)

while( read( I, my $buf, 16484  ) ) {

The choice of buffer size here is intriguing. I would have guessed that the ideal would be some exact multiple of the block size. What is the thinking behind the 100 byte excess?

Replies are listed 'Best First'.
Re^3: Count byte/character occurrence (1/4)
by BrowserUk (Patriarch) on Apr 01, 2016 at 11:12 UTC
    What is the thinking behind the 100 byte excess?

    A typo :) Now corrected. (Didn't make much difference in terms of speed; which surprises me.)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.

      That makes sense. For a 16MB file the script is only doing 1000 reads at 16K each. If each read is only reading one extra block and that extra block is always the consecutive one it probably should make only a small difference to the run time. Anyway, thanks for the clarification - thought I must have missed some clever trick.