This is a lovely article, but:<p>> The fundamental basis of any Unix application is the thread or process. (From the Linux OS perspective, threads and processes are mostly identical; the major difference is the degree to which they share memory.)<p>It's better to be specific in performance discussions, rather than use 'thread' and 'process' interchangeably.<p>As well as the article mentioned about memory sharing, threads (which are called Lightweight Processes, or LWPs, in Linux 'ps') are granular.<p><pre><code> ps -eLf
</code></pre>
NWLP in the command above is 'number of lightweight processes', ie number of threads.<p>Processes are not granular: they're one or many threads. IIRC it can be beneficial to assign threads of the same process to the same physical core or same die for cache affinity. There's all kind of performance stuff where 'threads' and 'processes' do not mean the same thing. Being specific is rad.