Felix Halim wrote:
> 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?

Nah itu dia. Tiap aplikasi kan beda. Bisa saja aplikasinya
nggak berurusan dengan I/O sama sekali. Satu micro benchmark
itu kan cuma mengukur satu aspek yang amat sangat kecil dan
itu belum tentu berguna untuk aplikasi kita sendiri.

>> Lalu benchmark macam apa yang berguna? Benchmark aplikasi
>> anda sendiri. Kalau hari ini aplikasi anda kecepatannya 1
>> lalu anda bisa optimasi sehingga kecepatannya 2 nah itu sudah
>> cukup hebat. Aplikasi dunia nyata itu kompleks dan susah
>> sekali di optimasi. Effort berbulan-bulan kadang cuma
>> menaikkan performance 10-20%.
> 
> Benchmark project sendiri sudah merupakan keharusan kalau ingin
> mengoptimize project sendiri.
> 
> Tapi "cara" meng-optimisasinya adalah dengan mengetahui banyak
> micro-benchmark yang dilakukan orang2.
> Lalu dicobakan ke project sendiri, lalu benchmark project sendiri
> dengan yang sebelumnya.
> 
> Apakah ada cara lain selain melihat micro-benchmark yang lebih effektif?
> 
> Saya tetap berpendapat micro-benchmark sangat penting, meskipun
> hasilnya tidak terlihat langsung di project besar.
> 

Saya tidak setuju. Dari pada belajar banyak sekali micro benchmark
orang lain lebih bermanfaat kita memanfaatkan profiler untuk
melihat bottleneck dari aplikasi. Lalu bottleneck tersebut
diusahakan untuk di distribusi loadnya atau paling tidak di percepat.

Kalau sudah tahu bottleneck nya maka menciptakan beberapa
micro benchmark sendiri memang bermanfaat. Ini saya rasa lebih
bermanfaat dari pada tahu banyak micro benchmark. Micro benchmark
bikinan sendiri yang spesifik aplikasi sendiri lebih bermanfaat
dari pada banyak micro benchmark orang lain yang nggak relevan.

Tapi ini juga masih optimasi level 1. Optimasi level 2 adalah
perubahan arsitektur, user interface dan cara pemakaian
aplikasi sehingga user merasakan aplikasi cepat.
Performance aplikasi sebagian adalah masalah teknis tapi
sebagian lagi adalah masalah persepsi user pada saat
memakai aplikasi. Dan ini sudah isu psikologis. He he he.
Sebagai contoh progress bar itu sebenarnya memperlambat
aplikasi. Tapi aplikasi yang nggak ada progress bar itu
sering disebut lebih lambat oleh user dibandingkan dengan
aplikasi yang ada progress barnya. Yah user kan bukan
developer yang terbiasa berpatokan pada millisecond. :-)

Kirim email ke