Se este PC tiver uma CPU Intel, o Thread (s) por núcleo certamente indicará hyper-threading.
For each processor core that is physically present, the operating system addresses two virtual (logical) cores and shares the workload between them when possible. The main function of hyper-threading is to increase the number of independent instructions in the pipeline; it takes advantage of superscalar architecture, in which multiple instructions operate on separate data in parallel.
.
Should I run 4 of them a time or 8 to reduce the total time cost?
Depende. Algumas tarefas são executadas mais rapidamente em hyper-threading e outras não. Você terá que testar isso sozinho.
Assume now I have 800 of them need to be run.
Eu usaria o GNU Parallel para lidar com esse problema.
GNU parallel is a shell tool for executing jobs in parallel using one or more computers.
Se você tiver uma lista de arquivos em .
que precisam ser processados, isso funcionará:
find . | parallel -j4 yourprogram
Se os seus testes anteriores mostrarem que ele é executado mais rapidamente com hyper-threading, altere o "4" para um "8".
EDIT: esqueci de mencionar que às vezes os programas rodam mais rápido quando você desativa HT no BIOS.