Jadi lets say ada big chunk of codes yah...
Lalu profiler nya akan evaluate itu chunk ato akan coba run once?
Mungkin evaluate yah...
Kalo run once kan malah justru lebih lambat lagi...
Lalu dia evaluate nya berdasarkan apa?
Pola2 code nya kah? Atau apa nih?
Oh iyah.. just to get it straight... hehehehe
.java khan source tuh...
.class itu code nya khan?
Lalu yang di sebut native code itu beda lagi khan yah?


 

-----Original Message-----
From: jug-indonesia@yahoogroups.com [mailto:[EMAIL PROTECTED]
On Behalf Of Samuel Franklyn
Sent: Thursday, June 05, 2008 10:46 AM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] Re: puts nya C/C++ vs. System.out.println nya
Java (Result: Java kalah telak!)

Adelwin Handoyo wrote:
> Kalo dibilang 2 overhead utama java itu membuat lambat...
> Berarti sebenernya waktu process nya sendiri lebih cepet dong dari C??

Kalau sudah teroptimasi maka Java bisa lebih cepat dari C.
Tapi ini bisa lho bukan pasti. Karena proses optimasi
dari HotSpot itu sangat kompleks.

> Ada yang mau di Tanya ke oom sam nih...
> Optimasi code di java itu all at once di depan... ato dia akan optimize a
> few blocks of codes in front?

Bukan begitu. Tapi lewat cara profiling dan konversi ke native code.
Jadi HotSpot compiler Java dari Sun itu dalamnya ada profiler.
Pada saat aplikasi dijalankan maka HotSpot akan analisa bagian
mana yang lambat dan menentukan apakah bagian yang lambat tersebut
bisa di optimasi dengan konversi ke native code. Kalau HotSpot
berpendapat bahwa bagian tersebut bisa makin cepat dengan konversi
ke native code maka HotSpot akan melakukan konversi ke native code
yang teroptimisasi. Konversi ke native code yang teroptimisasi ini
mirip kompilasi dari C compiler pakai flag optimisasi. Trik-trik
optimisasi native code dari HotSpot tidak kalah dengan trik-trik
optimasasi dari C compiler. Tapi HotSpot butuh waktu untuk
melakukan profiling dan kompilasi jauh lebih lama dari C compiler.
C compiler kan tidak melakukan profiling dan cuma melakukan
optimisasi native code.


> -----Original Message-----
> From: jug-indonesia@yahoogroups.com [mailto:[EMAIL PROTECTED]
> On Behalf Of Samuel Franklyn
> Sent: Thursday, June 05, 2008 10:04 AM
> To: jug-indonesia@yahoogroups.com
> Subject: Re: [JUG-Indonesia] Re: puts nya C/C++ vs. System.out.println nya
> Java (Result: Java kalah telak!)
> 
> Felix Halim wrote:
>> Setelah saya naikkan jumlah iterasinya jadi 10 juta kali, Java dan
>> C/C++ sudah tidak berbeda!
>>
>> C/C++ puts : 2.518726 secs (system time)
>> Java BufferedWriter : 2.473039172 secs (system time)
>>
>> Code untuk benchmarknya saya attach.
>> Silahkan dicoba sendiri.
>>
>> Conclusionnya:
>>
>>         Pakailah BufferedWriter untuk tulis ke STDOUT jika ingin print
>> dalam jumlah banyak.
>>
>> Setidaknya sekarang kita sudah boleh tenang memakai BufferedWriter.
>> Kecepatannya menyaingi puts nya C/C++ kok.
>>
>> Thread ini sudah boleh ditutup :D
>> Thanks buat semua yang udah kasih masukkan.
>>
> 
> Kenapa bisa begini? Karena dengan iterasi 10 juta kali maka 2
> overhead utama performance Java menjadi tidak berarti.
> Apa 2 overhead utama performance Java?
> 
> 1. Waktu start-up. Java waktu start-up pertamanya lama.
> Dan ini masih terus diusahakan untuk di optimasi oleh
> engineer Sun.
> 
> 2. Java menggunakan JIT (Just In Time) Compiler (HotSpot).
> HotSpot ini butuh waktu tertentu untuk melakukan optimasi
> code Java yang dijalankan. Salah satu optimasi HotSpot
> adalah konversi dari byte code menjadi native code.
> 
> Kalau mau dua overhead utama ini tidak ada maka kita
> harus menggunakan compiler Java yang melakukan
> optimisasi di depan dan mengkonversi byte code jadi
> native code di depan. Compiler Java yang bisa melakukan
> hal ini adalah GCJ dan Jet Excelsior.
> 
> 

------------------------------------

Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
[EMAIL PROTECTED]

Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id

Yahoo! Groups Links



Kirim email ke