"premature optimization is the root of all evil"
Esa cita es nada más ni nada menos que de Donald Knuth, al que creo con suficiente autoridad como para tomarlo en cuenta.
Si querés optimizar lo primero que tenés que hacer es detectar que partes específicas andan lento, sugerir multithreading puede ser irresponsable desde el momento que agrega mucha complejidad al código.
PD: De hecho, vale la pena leer este articulo de la wiki:
http://en.wikipedia.org/wiki/Program...en_to_optimize