Multithreading: O Design Errado?
Este artigo questiona o conceito comum de que multithreading sempre melhora o desempenho. O autor argumenta que CPUs modernas não operam como um modelo de memória compartilhada, como muitas vezes é ensinado, e multithreading introduz uma sobrecarga significativa devido a problemas de coerência de cache e primitivas de sincronização, levando à degradação do desempenho e aumento da complexidade. A duplicação de código de thread único em vários núcleos é apresentada como uma abordagem mais eficiente, aproveitando o tempo da CPU de forma mais eficaz e resultando em código mais simples e fácil de manter. O autor defende designs de thread único como Node.js e modelos Actor como superiores para utilização de recursos de CPU modernos, apesar da percepção de que multithreading é uma abordagem mais sofisticada.