Wow, thanks a lot Felix. Memang test yg dilakukan quick & dirty. Cuma run aja berulang2, ambil hasil yg paling konsisten, hahaha.
Double.valueOf memang lbh flexible krn dia melakukan byk pengecekan -> krn itu jadi lambat. Saya lupa menyebutkan di awal, bhw ada asumsi yg dipakai utk input: - pasti data numeric, - <100 - tanda negatif & titik optional, Krn itu saya bisa menggunakan konversi bikinan sendiri. thanks, T Budi S 2008/6/5 Felix Halim <[EMAIL PROTECTED]>: > Trus, tentang kenapa Double.valueOf bisa lebih lambat itu mungkin karena > Double.valueOf lebih flexible: > > Double.valueOf bisa terima input dalam berbagai macam format: > > System.out.println(Double.valueOf("1e-2")); > System.out.println(Double.valueOf("1.282e-2")); > System.out.println(Double.valueOf("38282.11717e-7")); > System.out.println(Double.valueOf("38282.11717e7")); > > System.out.println(Double.valueOf("238476239487623324234234.1231231231243324234234E-19")); > > Gak heran jalannya lebih lambat, pasti banyak pengecekan di dalamnya. > > Felix Halim > > 2008/6/4 Felix Halim <[EMAIL PROTECTED]>: >> >> Untuk yang lain yang ingin melakukan micro-benchmark, kalau bisa >> test-casesnya di-random. >> Jangan hanya menggunakan single value seperti: "-12.3456" >> Hasilnya akan sangat bias dan tidak akurat. >> >> Untuk T.Budi, saya bikinin testcases random nya. >> Kamu bisa benchmark menggunakan itu, hasilnya harusnya lebih applicable. >> >> Dan, berdasarkan pengalaman benchmark sebelumnya (puts vs. println), >> Jumlah testcasesnya harus cukup besar sehingga runtimenya adalah hitungan >> DETIK. >> Kalau masih ukuran milliseconds masih blum bisa dianggap akurat! (masih >> bias dengan overhead aneh2). >> >> Saat ini hasilnya seperti ini: >> >> Double.parseDouble = 1.120404 secs >> Double.valueOf = 1.146029 secs >> stringToDouble = 0.502698 secs >> stringToDoubleFH = 0.467788 secs >> >> Double.valueOf itu consistently lebih lambat daripada toDouble bikinan >> sendiri... >> Entah kenapa itu... ada yang tahu? >> >> Kalau menurut saya, mungkin saja ada pengecekan lain yang membuat >> Double.valueOf lambat. >> Entah pengecekan lain itu critical atau tidak (demi precision)? >> >> Felix Halim >