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 than | LT0186 | Boink |
| 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.
|