I have yet to write a multi-thread program for performance reasons.
If we include in the set of things covered by the term "performance" not only throughput, but also latency, then I suspect you actually have written some multithreaded programs for "performance" reasons.
*I* certainly have: that's easily the reason for threading in 95% of the cases I've dealt with, and I suspect those of many others.
-Peter -- http://mail.python.org/mailman/listinfo/python-list