2008/6/2 Jecki Sumargo <[EMAIL PROTECTED]>:
> Pertama, karena platform java itu managed environment maka pada saat
> startup banyak aspek yang disiapkan oleh JVM. Untuk detailnya sendiri
> saya tidak begitu jelas, tapi kira2 di gambaran saya dia harus siapkan
> table reference object, spawn thread baru untuk garbage collector
> (CMMIIW). Ini pastinya menjadi overhead setiap program java.

Betul, tapi 10 detik lebih lambat itu pasti ada apa2nya.
Dan terjadi pada hal yang trivial seperti System.out.println bukanlah
sesuatu yang bisa di-ignore begitu saja.


> Kedua, karena java bermain dengan bytecode maka perlu ada translasi
> dari bytecode untuk menjadi native code. Jelas saja ini berarti ada
> overhead untuk setiap eksekusi kode program. Untuk itu muncul optimasi
> Just In Time compiler, di mana JVM akan menganalisa code yang sering
> dieksekusi (misal: 10000 kali eksekusi) dan melakukan optimasi, di
> antaranya dengan menyimpan native code dari bytecode tersebut sehingga
> tidak perlu ada overhead untuk translasi lagi. Untuk hal ini ada
> pilihan tuning yg bisa dilakukan.


Tuning apakah yang bisa digunakan untuk mempercepat I/O seperti problem diatas?



> IMO dalam hal ini java tidak bisa dibandingkan dengan C/C++. Target
> pengguna platformnya sendiri jelas berbeda. Java ditujukan untuk
> memudahkan pembuatan program yang agar programmer misalnya tidak perlu
> repot dengan memory management.


Betul, tetapi sejauh apakah Java bisa melambat karenanya?
Dan teknik apa sajakah yang bisa kita lakukan untuk mempercepatnya?
Itu yang sekarang lagi saya bahas :)


> Sedangkan C/C++ lebih untuk problem
> yang low level atau yang butuh keuntungan (kecepatan) dari native
> binary misalnya driver, DLL library, game programming, real time
> programming. Meskipun bisa saja kita melihat Java dipakai untuk game
> programming dan program enterprise dibuat dengan C/C++.

+1

Felix Halim

Kirim email ke