Uma coisa que eu sempre falo e não posso começar sem isto: pessoas aleatórias na internet não sabem todos os detalhes do seu problema, talvez nem você, não vão ter ganhos ou perdas com sua decisão, não estão comprometidos com seu resultado e muitas vezes nem sabem do que estão falando, por isso até podem dar um pitaco e indicar algo.

Em geral qualquer linguagem dará conta de qualquer coisa se o programador que está fazendo a aplicação sabe o que está fazendo. Se não souber, não é a linguagem que salvará o projeto, no máximo minimizará o problema.

Multi threading não é solução para tudo e existem outras soluções que conseguem dar o mesmo resultado. Por isso é preciso saber toda a computação para tomar a decisão correta.

Se acha que precisa criar threads em Python para atender a demanda, então a linguagem é errada. Python é uma linguagem que foi feita para ser mais lenta e a implementação atual é muito lenta. Se a pessoa optar por qualquer linguagem que costuma ter resultado mais eficiente em apenas uma thread, terá uma resultado melhor que Python com várias. Por isso essa discussão do GIL nunca fez sentido. Só faz sentido para quem quer teimosamente insistir na linguagem que não é adequada para aquilo. Ou é adequada com ou sem GIL.

Mas novamente, é só questão de arquitetura e colocar mais recursos de hardware. Se quer uma arquitetura mais simples e gastar menos com infra, então esqueça as linguagens de script.

Todas as outras mais conhecidas que rodam código nativamente, mesmo através de um JITter, e que provavelmente não tem abstrações caras, como a tipagem dinâmica, vão atender muito melhor. Qualquer uma delas e não terá diferenças brutais se a pessoa souber o que está fazendo.

Eu acho bastante curioso como muita gente ignora C# em várias situações, especialmente quando se fala em performance: https://www.techempower.com/benchmarks/#hw=ph&test=plaintext&section=data-r22.

O parágrafo quase no final com várias perguntas eu não vou comentar porque pra mim não faz sentido dentro do que eu sei sobre o problema (obviamente que pode fazer dentro de algum cenário real onde tem demanda pesada, não 30, se for milhões). Só acho que muita gente usa um monte de cacareco sem necessidade alguma e porque acha que não vai dar conta, ou porque ela sabe que fará um código muito ruim.

Muita gente só adota microsserviços e outras técnicas complexas e ineficientes porque ela não consegue fazer a aplicação corretamente. Para ter uma ideia, o Stack Overflow, que há pouco era um dos 30 sites mais acessados do mundo, rodava com um servidor quando queria (mantém outros para ter mais garantias), feito do jeito simples e indo contra o que quase todo mundo prega por aí. E em C#.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Sim faz sentido sim, de fato você falou o que eu achava há um tempo, mas precisava de alguém com mais propriedade para firmar, pois eu não confio muito em mim nessa área.

Quando você diz:

Mas novamente, é só questão de arquitetura e colocar mais recursos de hardware. Se quer uma arquitetura mais simples e gastar menos com infra, então esqueça as linguagens de script.

Todas as outras mais conhecidas que rodam código nativamente, mesmo através de um JITter, e que provavelmente não tem abstrações caras, como a tipagem dinâmica, vão atender muito melhor. Qualquer uma delas e não terá diferenças brutais se a pessoa souber o que está fazendo.

Você se refere a usar linguagens compiladas, como Rust, Go, C# (acredito que C# seja compilado, nunca usei), C++, Java (acho que Java também é compilado)?

Sim, todas essas e mais algumas. - https://pt.stackoverflow.com/q/125588/101 - https://pt.stackoverflow.com/q/77070/101 - https://pt.stackoverflow.com/q/22647/101