Executando verificação de segurança...
6

Código Compilado vs Interpretado: teste de performance

Olá, essa é a minha primeira publicação aqui no TabNews!
Recentemente precisei tomar uma decisão importante em relação a escolha da melhor liguagem para desenvolver um projeto de alto desempenho. Um dos fatores que levei em conta é decidir entre uma linguagem compilada ou interpretada. Pesquisei sobre o assunto, mas a grande maioria dos artigos são focados em demonstrar as diferenças teóricas entre compiladores e interpretadores. Pois aqui vai um artigo muito valioso e prático que consegui encontrar no Medim comparando performances entre Java, Go e Python!

Carregando publicação patrocinada...
5

Acho que não é seu caso, mas já vi algumas pessoas seguindo muito a risca os benchmarks de compiladores X interpretados para definir a stack de um projeto, mas esquecem a expertise do time atual ou da disposição de profissionais no mercado para formar/compor o time.

Normalmente, algumas questões de performance em grandes aplicações podem ser contornadas com arquitetura da aplicação. Por exemplo, uso de caches, mais instâncias da aplicação, load balance, filas etc. Até mesmo a criação de serviços para o processamento de processos específicos, feita em uma linguagem diferente do que é usada na parte principal do projeto.

4

De fato vivemos um certo tipo de "crise" de demanda por profissionais qualificados e acredito que muitas vezes isso acaba influenciando na escolha, não só da linguagem, como das tecnologias em geral que compõe um novo projeto.
Mas a minha intensão aqui foi trazer uma visão técnica e pragmática sobre uma diferença real de performance entre código compilado e interpretado. Eu trabalho com ciência de dados e preciso processar 6TB de imagens para gerar um único modelo, sendo que, quanto mais modelos, mais eu consigo evoluir minha tecnologia. Então acredito que faz todo o sentido eu me informar sobre possibilidades de "pequenos" acrécimos de performance, pois isso pode significar bastante tempo em um ano de processamento, por exemplo. Não significa que a pessoa tem que aprender ourta linguagem por conta disso, mas creio que essas diferenças são importantes de se saber. Até pq o material também mostra o PyPy como possibilidade para ganho de performance.