in reply to Extreme Example of TMTOWTDI

Here's a simple explination onw hat you are doing. Everytime you find a word of a specific length, you pretty much open-write-close.

It's an expensive thing to open a file, not so expensive you should never open a file, but its expensive. You don't wanna do it too often. In your first loop, you are opening/closing x times. x = lines in text file you are reading from.

In the second one, you pretty much read all the data into memory and then open/close y times. y = number of different lengths.

SO now its a matter of ~25000 file open/close vs max word length times (~20? ~50?)