Open ArthurLobopro opened 10 months ago
@ArthurLobopro o fato da linguagem Java ter o tempo melhor que C++ aqui, é por que existe uma otimização da JVM que quando detecta que tem loops sem necessidade, que é o caso desse teste cujo é um loop vazio, a JVM elimina a execução daquela parte, portanto a JVM só executa o loop algumas vezes e ai entende que não precisa mais repetir.
A proposito, você chegou a fazer o teste você mesmo com Java?
@AlbertoMonteiro eu não fiz nenhum teste, mas eu achei estranho o JavaScript com o node ter um desempenho melhor, já que C++ é uma linguagem compilada e JavaScript é interpretada, e o node runtime também é feito em C++ e por isso é estranho o JavaScript ter uma performance superior
Existem outras variantes que são importantes para se analisar, como por exemplo essa que mencionei.
Por exemplo, C# tem opção de gerar código nativo, sem JIT, e para algumas questões, a versão dele que tem JIT, é melhor, pq a geração de código durante a execução pode usar informações para gerar um código de máquina melhor que o gerador genérico.
Então na da para se basear somente nesse linha de ser ou não compilado.
Vi seu post no LinkedIn e achei estranho Javascript ter um resultado superior ao C++, então gostaria de fazer uma sugestão.
Ao invés de fazer a linguagem fazer a cronometragem, use um comando como esse do Linux para cronometrar.
Assim algumas linguagens que não se dão bem com timers podem ter uma comparação mais justa em termos de performance.