2008/6/4 Felix Halim <[EMAIL PROTECTED]>: > 2008/6/4 Samuel Franklyn <[EMAIL PROTECTED]>: > >> Masukan gua sama dengan masukan Frans. Tapi mungkin akan gua >> perjelas sedikit. Micro benchmark itu tidak berguna. >> Benchmark yang kompleks macam TPC-C saja cuma sedikit berguna. > > Kenapa tidak berguna? Kan bisa dijadikan panduan dalam coding? > > Kalau tahu System.out.println lambatnya bisa sampai 10x lipat daripada > BufferedWriter dalam hal menulis ke STDOUT tentu akan berguna donk? >
Ya mungkin saja micro-benchmark ada gunanya. Tapi harus diperhatikan, *biasanya* kode yang sudah dioptimasi akan less-readable daripada kode yang normal. Ini merupakan maintenance-cost, lebih sulit membacanya, dan mengubahnya. Pertanyaannya sekarang, apakah cost yang harus dibayar gara2 optimasi tersebut cukup sepadan dengan benefitnya ?? Jangan-jangan System.out.println yang itu ternyata cuma menyita 1% dari total waktu eksekusi. Kalau pendekatan yang biasa saya lakukan, saya akan cari bottleneck yang paling besar. Misalnya, berdasarkan profiling, ketahuan bahwa untuk merender satu page, proporsinya sebagai berikut: 5% framework overhead 40% business logic 40% akses database 5% logging 10% page rendering Maka target pertama saya adalah kode akses database dan business logic. Bila saya bisa mengoptimasi setengahnya saja dari kedua hal tersebut, aplikasi saya akan 40% lebih cepat. Hampir 2x lebih cepat. Bila saya optimasi System.out.println yang ada di logging, walaupun berhasil meningkatkan kinerjanya 1000 kali lipat, aplikasi tidak akan menjadi 40% lebih cepat. Intinya, choose your battle carefully -- Endy Muhardin http://endy.artivisi.com Y! : endymuhardin -- life learn contribute --