From your post, it seemed like you were unpacking into a filesystem. Do the majority of the files you parse each time you run the program change? If not, you could use something like like KinoSearch to allow you to quickly search files that have not changed.