Este proyecto intenta comparar la velocidad de diferentes lenguajes de programación. En este proyecto realmente no nos importa obtener un cálculo preciso de pi. Sólo queremos ver qué tan rápido funcionan los lenguajes de programación.
Utiliza una implementación de la fórmula de Leibniz para π para hacer la comparación.
Aquí tienes un vídeo que explica cómo funciona: Calcular π a mano
Puede encontrar los resultados aquí: https://niklas-heer.github.io/speed-comparison/
No soy un experto en todos estos idiomas, así que toma mis resultados con cautela.
Además, los hallazgos muestran cuán bien los lenguajes pueden manejar operaciones de punto flotante, que es solo un aspecto de un lenguaje de programación.
También puedes contribuir y ayudarme a corregir mi posible código horrible en algunos idiomas. ?
Todo se ejecuta mediante un contenedor Docker y un script bash que invoca los programas.
Para medir el tiempo de ejecución se utiliza un paquete Python.
Docker
Earthly permite ejecutar todo con un solo comando:
earthly --config earthly-config.yml +all
Esto ejecutará todas las tareas para recopilar todas las mediciones y luego ejecutará el análisis.
Para recopilar datos para todos los idiomas, ejecute:
earthly --config earthly-config.yml +collect-data
Para recopilar datos para un solo idioma, ejecute:
earthly --config earthly-config.yml + < replace me with language name >
Para generar el CSV combinado a partir de todos los resultados, utilice este comando:
earthly --config earthly-config.yml +analysis
¿Por qué también cuenta la lectura de un archivo y la impresión del resultado?
Porque creo que este es un escenario más realista para comparar velocidades.
¿Los tiempos de compilación están incluidos en las medidas?
No, no están incluidos, porque al ejecutar el programa en el mundo real esto también se haría antes.
La lista de Colaboradores se genera automáticamente.
Niklas Heer | Francesco Alemanno | Yu Zhu | Jerry Ling | Gauta Esperanza | frak0d |
Jonathan Carroll | Sıddık AÇIL | Serg Gini | Gabriel Baraldi | samuel | Joe Landman |
Sandeep Kumar | mattn | Páll Haraldsson | Óscar Smith | Michael Abbott | lorenzo gabriel |
LazyKernel | Chris Nuernberger | DirkieDurky | GuiZhen Wei | RDPatrickTheDev | Proudust |
Serguéi Trofímov | Thomas A Caswell | Tomohiro | genmeblog | Yuta Imazu | Kohei Hosoki |
yinheli |
Para crear hiperfino que se utiliza para la evaluación comparativa fundamental.
Este proyecto se inspira en Thomas, quien hizo una comparación similar en su blog.