Sudah lumayan lama sejak terakhir kali nerbitin artikel di platform ini, kemarin ane nerbitin ini 🚀Cara Mudah Ganti Akun Github di Windows
Jadi sekarang ane mau coba bandingkan performa Bun dan Node, Bun dan Node ini sama-sama runtime nya JavaScript ya, bedanya Bun ini juga bisa digunakan sebagai package manager juga, berbeda dengan Node yang masih membutuhkan package manager lain seperti npm, yarn, pnpm. Jadi seberapa kencang sih Bun ini?
Untuk persiapan yang ane lakukan yaitu dengan mengukur waktu eksekusi dari sebuah fungsi yang ane buat dengan tingkat kompleksitas yang berbeda-beda,
untuk lebih jelasnya silahkan lihat source code dibawah ini:
function testFunction(complexity = 1000000) {
let result = 0;
for (let i = 0; i < complexity; i++) {
result += Math.sqrt(i) + Math.sin(i) + Math.cos(i);
}
return result;
}
function measureExecutionTime(func, ...args) {
const start = performance.now();
const result = func(...args);
const end = performance.now();
return { executionTime: end - start, result };
}
function runBenchmark(iterations = 5) {
const complexities = [100000, 500000, 1000000, 2000000];
complexities.forEach((complexity) => {
console.log(`\nBenchmark untuk kompleksitas: ${complexity}`);
let totalTime = 0;
for (let i = 0; i < iterations; i++) {
const { executionTime, result } = measureExecutionTime(testFunction, complexity);
totalTime += executionTime;
console.log(`Iterasi ${i + 1}: ${executionTime.toFixed(2)} ms, Hasil: ${result.toFixed(2)}`);
}
const averageTime = totalTime / iterations;
console.log(`Rata-rata waktu eksekusi: ${averageTime.toFixed(2)} ms`);
});
}
runBenchmark();
Untuk spesifikasi teknis lainnya sebagai berikut:
- CPU: AMD Ryzen 5 7640HS
- RAM: 16GB
- OS: Windows 11
- Node: 20.12.0
- Bun: 1.0.13
Hasil dari percobaan diatas adalah sebagai berikut:
Kompleksitas | Runtime | Iterasi 1 (ms) | Iterasi 2 (ms) | Iterasi 3 (ms) | Iterasi 4 (ms) | Iterasi 5 (ms) | Rata-rata (ms) |
---|---|---|---|---|---|---|---|
100000 | Node.js | 11.83 | 8.24 | 2.49 | 2.35 | 2.34 | 5.45 |
Bun | 5.81 | 2.39 | 2.37 | 2.39 | 2.51 | 3.09 | |
500000 | Node.js | 13.28 | 13.99 | 13.52 | 13.15 | 13.95 | 13.58 |
Bun | 12.13 | 12.85 | 12.91 | 12.99 | 12.78 | 12.73 | |
1000000 | Node.js | 26.59 | 26.22 | 28.28 | 25.90 | 26.10 | 26.62 |
Bun | 25.16 | 24.21 | 24.86 | 24.47 | 25.79 | 24.90 | |
2000000 | Node.js | 137.59 | 136.67 | 141.01 | 138.89 | 138.92 | 138.62 |
Bun | 49.12 | 48.72 | 50.54 | 50.84 | 49.35 | 49.71 |
Dari hasil diatas dapat dilihat bahwa Bun ini memang lebih cepat dari Node.js, terutama untuk kompleksitas yang lebih tinggi, Bun ini membutuhkan waktu rata-rata sekitar 1/4 dari Node.js.
Jadi gimana menurut agan? apakah berminat untuk mencoba Bun?
Sekian dari ane, terima kasih.
Top comments (1)
reserved()