for true scalability should read file as a stream and have a stream parser (or async maybe in the JS world?)