Este projeto tenta comparar a velocidade de diferentes linguagens de programação. Neste projeto não nos importamos muito em obter um cálculo preciso de pi. Queremos apenas ver quão rápido está o desempenho das linguagens de programação.
Ele usa uma implementação da fórmula de Leibniz para π para fazer a comparação.
Aqui está um vídeo que explica como funciona: Calculando π manualmente
Você pode encontrar os resultados aqui: https://niklas-heer.github.io/speed-comparison/
Não sou especialista em todos esses idiomas, então considere meus resultados com cautela.
Além disso, as descobertas mostram quão bem as linguagens podem lidar com operações de ponto flutuante, que é apenas um aspecto de uma linguagem de programação.
Você também pode contribuir e me ajudar a corrigir meu possível código horrível em alguns idiomas. ?
Tudo é executado por um contêiner Docker e um script bash que invoca os programas.
Para medir o tempo de execução, um pacote python é usado.
Docker
Earthly permite executar tudo com um único comando:
earthly --config earthly-config.yml +all
Isso executará todas as tarefas para coletar todas as medições e depois executar a análise.
Para coletar dados para todos os idiomas, execute:
earthly --config earthly-config.yml +collect-data
Para coletar dados para um único idioma, execute:
earthly --config earthly-config.yml + < replace me with language name >
Para gerar o CSV combinado de todos os resultados, use este comando:
earthly --config earthly-config.yml +analysis
Por que você também conta a leitura de um arquivo e a impressão da saída?
Porque acho que esse é um cenário mais realista para comparar velocidades.
Os tempos de compilação estão incluídos nas medições?
Não, eles não estão incluídos, porque ao executar o programa no mundo real, isso também seria feito antes.
A lista de Colaboradores é gerada automaticamente.
Niklas Heer | Francesco Alemanno | Yu Zhu | Jerry Ling | Gaute Esperança | frak0d |
Jonathan Carrol | Siddik AÇIL | Serg Gini | Gabriel Baraldi | Samuel | Joe Landman |
Sandeep Kumar | mate | Páll Haraldsson | Óscar Smith | Michael Abbott | Lorenzo Gabriel |
PreguiçosoKernel | Chris Nuernberger | Dirkie Durky | Gui Zhen Wei | RDP PatrickTheDev | Orgulhoso |
Sergei Trofimov | Thomas A Caswell | Tomohiro | genmeblog | Yuta Imazu | Kohei Hosoki |
Yinheli |
Para criar hiperfino que é usado para benchmarking fundamental.
Este projeto se inspira em Thomas, que fez uma comparação semelhante em seu blog.