http://www.perlmonks.org?node_id=1005507


in reply to Re: How to print the lines immediately above and below a matching line?
in thread How to print the lines immediately above and below a matching line?

If at ever there will need to be printed most at then some three lines, read the whole file is waste of memory
  • Comment on Re^2: How to print the lines immediately above and below a matching line?

Replies are listed 'Best First'.
Re^3: How to print the lines immediately above and below a matching line?
by roboticus (Chancellor) on Nov 25, 2012 at 18:38 UTC

    Waste of memory? Memory is there to be used ... what are you saving it for?

    Sure, for a long-lived application may want to be leery of using a large quantity of ram. But if it solves the immediate problem at hand, then using memory isn't really a problem. Also, memory is so large anymore that you need to work with *big* files if you're going to make memory usage a problem. The ordinary file isn't really going to be a problem.

    For example, here's a histogram of file sizes on a couple of my machines--my work laptop (LT0186) and my goofing off computer (Boink):

    files smallar thanLT0186Boink
    1 2852 122103
    10 701 5777
    25 3920 30988
    50 7793 31843
    100 4501 41932
    250 10112 128614
    500 14385 119923
    1k 31564 192614
    2.5k 40133 275173
    5k 33471 218245
    10k 34710 233223
    25k 27628 211316
    50k 14394 100595
    100k 12579 71556
    250k 9674 61003
    500k 4961 22754
    1M 3508 13800
    2.5M 2013 8325
    5M 852 4279
    10M 738 4586
    25M 365 1958
    50M 223 634
    100M 54 372
    250M 52 129
    500M 22 63
    1G 16 55
    2.5G 9 32
    5G 0 3
    10G 0 1

    I wouldn't take a second thought about just loading a file under 500M into RAM, and as you can see, I have *very few* files larger than that. And for a simple task like the one presented, I'd probably go ahead and try it on larger files (swap space permitting) and go take a break.

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.

      Waste of memory? Memory is there to be used ... what are you saving it for?

      seriously? This entire "program" is a joke -- grep does it already

        I'm not talking about this program specifically, I was simply responding to the "a waste of memory" statement.

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.

        Unless I'm mistaken, the Solaris grep doesn't support -B -A or -C and there's no native grep on Windows.