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
>

Kirim email ke