Ce projet tente de comparer la vitesse de différents langages de programmation. Dans ce projet, nous ne nous soucions pas vraiment d'obtenir un calcul précis de pi. Nous voulons seulement voir à quelle vitesse évoluent les langages de programmation.
Il utilise une implémentation de la formule de Leibniz pour π pour effectuer la comparaison.
Voici une vidéo qui explique comment ça marche : Calculer π à la main
Vous pouvez trouver les résultats ici : https://niklas-heer.github.io/speed-comparison/
Je ne suis pas un expert dans toutes ces langues, alors prenez mes résultats avec des pincettes.
De plus, les résultats montrent à quel point les langages peuvent gérer les opérations en virgule flottante, ce qui n'est qu'un aspect d'un langage de programmation.
Vous êtes également invités à contribuer et à m'aider à corriger mon éventuel code horrible dans certaines langues. ?
Tout est géré par un conteneur Docker et un script bash qui appelle les programmes.
Pour mesurer le temps d'exécution, un package python est utilisé.
Docker
Earthly permet de tout exécuter avec une seule commande :
earthly --config earthly-config.yml +all
Cela exécutera toutes les tâches pour collecter toutes les mesures, puis exécutera l'analyse.
Pour collecter des données pour toutes les langues, exécutez :
earthly --config earthly-config.yml +collect-data
Pour collecter des données pour une seule langue, exécutez :
earthly --config earthly-config.yml + < replace me with language name >
Pour générer le CSV combiné de tous les résultats, utilisez cette commande :
earthly --config earthly-config.yml +analysis
Pourquoi comptez-vous également la lecture d'un fichier et l'impression du résultat ?
Parce que je pense que c'est un scénario plus réaliste pour comparer les vitesses.
Les temps de compilation sont-ils inclus dans les mesures ?
Non, ils ne sont pas inclus, car lors de l'exécution du programme dans le monde réel, cela aurait également été fait auparavant.
La liste des Contributeurs est générée automatiquement.
Nicolas Heer | Francesco Alemanno | Yu Zhu | Jerry Ling | Gaute Espoir | frak0d |
Jonathan Carroll | Siddik AÇIL | Serge Gini | Gabriel Baraldi | Samuel | Joe Landman |
Sandeep Kumar | matt | Pall Haraldsson | Oscar Smith | Michael Abbott | Lorenzo Gabriele |
LazyKernel | Chris Nuernberger | DirkieDurky | Gui Zhen Wei | RDPatrickTheDev | Proudus |
Sergueï Trofimov | Thomas A Caswell | Tomohiro | genmeblog | Yuta Imazu | Kohei Hosoki |
yinhéli |
Pour créer une hyperfine qui est utilisée pour l'analyse comparative fondamentale.
Ce projet s'inspire de Thomas qui a fait une comparaison similaire sur son blog.