I read the code of the aspell spell checker. A new process is started for EVERY word that is checked. We should start the process only twice, once for the language of strings and once for the language of comments. You can use the STDIN to talk to the process while it is running, rather than restarting it every time.