- Ada laporan bahwa saat boot, FreeBSD menghabiskan 7% waktunya untuk melakukan bubble sort pada SYSINIT
- Kode ini dibuat pada 1996, dan pada masa itu hanya ada sekitar 30 SYSINIT yang perlu diurutkan, tetapi sekarang jumlahnya sudah lebih dari seribu sehingga memakan waktu lebih lama
- Dalam commit terbaru, array SYSINIT diubah menjadi SLIST sehingga merge sort dapat digunakan, dan penambahan SYSINIT baru juga menjadi lebih cepat
- Merge sort sekitar ~100x lebih cepat
- Berdasarkan Firecracker, dari total waktu boot 28 ms, sekitar 2 ms bisa dihemat
3 komentar
Untuk dataset di bawah ukuran tertentu, mungkin masuk akal memakai kode yang kecil dan mudah dipahami.
Masih banyak contoh penggunaan algoritme lambat yang tersisa karena keputusan seperti itu.
(Mungkin ini prasangka, tapi) saya jadi kuat merasa bahwa kalau ada orang yang mempermasalahkan hal seperti ini, kemungkinan besar dia tipe orang yang tidak membantu apa-apa dan hanya banyak mengeluh.
FreeBSD menggunakan 7% waktu saat boot untuk melakukan bubble sort pada SYSINIT
Komentar Hacker News
bubblesortdenganmergesortdi SYSINITs, sehingga waktu boot meningkat secara signifikan.bubblesortbukanlah sebuah kesalahan, dan telah bekerja dengan baik selama bertahun-tahun sampai kasus penggunaan tertentu menyoroti inefisiensinya.bubblesortdi SYSINITs saat boot di Firecracker.mergesortmenghasilkan pengurangan bersih 5 baris kode dan waktu boot yang "100 kali lebih cepat".bubblesortmungkin dipengaruhi oleh faktor-faktor seperti jumlah tugas.mergesortmenunjukkan bahwa peningkatan kecil dapat membuat perbedaan penting pada performa keseluruhan.bubblesortyang sudah dikenal dan kurangnya sifat intuitif.bubblesortdi SYSINITs.