Proyek ini mencoba membandingkan kecepatan berbagai bahasa pemrograman. Dalam proyek ini kami tidak terlalu peduli untuk mendapatkan perhitungan pi yang tepat. Kami hanya ingin melihat seberapa cepat kinerja bahasa pemrograman.
Ia menggunakan implementasi rumus Leibniz untuk π untuk melakukan perbandingan.
Berikut adalah video yang menjelaskan cara kerjanya: Menghitung π dengan tangan
Anda dapat menemukan hasilnya di sini: https://niklas-heer.github.io/speed-comparison/
Saya bukan ahli dalam semua bahasa ini, jadi ambillah hasil saya dengan sedikit garam.
Temuan ini juga menunjukkan seberapa baik bahasa tersebut dapat menangani operasi floating point, yang hanya merupakan salah satu aspek dari bahasa pemrograman.
Anda juga dipersilakan untuk berkontribusi dan membantu saya memperbaiki kemungkinan kode buruk saya dalam beberapa bahasa. ?
Semuanya dijalankan oleh wadah Docker dan skrip bash yang memanggil program.
Untuk mengukur waktu eksekusi paket python digunakan.
Docker
Earthly memungkinkan untuk menjalankan semuanya dengan satu perintah:
earthly --config earthly-config.yml +all
Ini akan menjalankan semua tugas untuk mengumpulkan semua pengukuran dan kemudian menjalankan analisis.
Untuk mengumpulkan data untuk semua bahasa, jalankan:
earthly --config earthly-config.yml +collect-data
Untuk mengumpulkan data untuk satu bahasa, jalankan:
earthly --config earthly-config.yml + < replace me with language name >
Untuk menghasilkan CSV gabungan dari semua hasil, gunakan perintah ini:
earthly --config earthly-config.yml +analysis
Mengapa Anda juga menghitung membaca file dan mencetak hasilnya?
Karena menurut saya ini adalah skenario yang lebih realistis untuk membandingkan kecepatan.
Apakah waktu kompilasi termasuk dalam pengukuran?
Tidak, mereka tidak termasuk, karena ketika menjalankan program di dunia nyata hal ini juga akan dilakukan sebelumnya.
Daftar Kontributor dibuat secara otomatis.
Niklas Heer | Francesco Alemanno | Yuzhu | Jerry Ling | Harapan Gaute | frak0d |
Jonatan Carroll | Sıddık AÇIL | Serg Gini | Gabriel Baraldi | Samuel | Joe Landman |
Sandeep Kumar | matt | Páll Haraldsson | Oscar Smith | Michael Abbott | Lorenzo Gabriele |
Kernel Malas | Chris Nuernberger | DirkieDurky | Gui Zhen Wei | RDPatrickTheDev | Bangga |
Sergei Trofimov | Thomas A Caswell | Tomohiro | genmeblog | Yuta Imazu | Kohei Hosoki |
yinheli |
Untuk membuat hyperfine yang digunakan untuk benchmarking mendasar.
Proyek ini mengambil inspirasi dari Thomas yang melakukan perbandingan serupa di blognya.