- Aturan 1: Tidak mungkin memprediksi di mana program akan menghabiskan waktu. Bottleneck muncul di tempat yang tak terduga, jadi jangan mencoba meningkatkan kecepatan sampai benar-benar terbukti itulah bottleneck-nya
- Aturan 2: Pengukuran adalah yang utama. Tuning performa hanya dilakukan setelah pengukuran, dan optimisasi dipertimbangkan hanya ketika satu bagian kode benar-benar mendominasi keseluruhan
- Aturan 3: Algoritme kompleks lambat untuk n kecil. Algoritme kompleks memiliki konstanta besar, jadi gunakan cara yang sederhana kecuali n sering menjadi besar. Bahkan jika n membesar, terapkan dulu Aturan 2
- Aturan 4: Algoritme kompleks lebih banyak bug dan lebih sulit diimplementasikan. Lebih baik menggunakan algoritme sederhana dan struktur data yang sederhana
- Aturan 5: Data adalah inti. Jika memilih struktur data yang tepat dan menatanya dengan baik, algoritme akan hampir tampak dengan sendirinya. Pusat pemrograman bukanlah algoritme, melainkan struktur data
Filosofi dan kutipan terkait
- Aturan 1 dan 2 memiliki makna yang sama dengan pepatah Tony Hoare, “optimisasi dini adalah akar dari segala kejahatan”
- Ken Thompson menafsirkan ulang Aturan 3 dan 4 sebagai “kalau ragu, gunakan cara yang sederhana (Brute Force)”
- Aturan 3 dan 4 adalah contoh filosofi desain KISS(Keep It Simple, Stupid)
- Aturan 5 sudah pernah disebutkan Fred Brooks dalam 『The Mythical Man-Month』,
dan sering diringkas sebagai “menulis kode sederhana dengan menggunakan objek yang cerdas”
Belum ada komentar.