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


in reply to Re^2: 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?

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.

  • Comment on Re^3: How to print the lines immediately above and below a matching line?

Replies are listed 'Best First'.
Re^4: How to print the lines immediately above and below a matching line?
by Anonymous Monk on Nov 25, 2012 at 18:42 UTC

    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.

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

        Yes, you were purposefully being obtuse -- sure memory is free and there to be used, but so what? doesn't mean every little program should slurp files for the fun of it to avoid an extra 5 lines of code

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

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

        I don't see how that is relevant, gnu grep supports it and is available for every platform, including solaris and windows

        Also, ack is egrep