>
> On Jan 1, 2008 12:13 PM, Andre Prasetya <[EMAIL PROTECTED]> wrote:
>
> Dear all ruby-ers
> Dengan ruby mulai berjalan sebagai bytecode compiled yg jalan pada
> Virtual Machine, apa nanti jadinya ruby ke arah java ? kuatirnya
> nantinya penggunaan memorinya meledak sampai kayak java, buntut2 nya
> sulit cari hosting dan harus collocation.
>

Padahal malah Ruby MRI yang lebih sering "memorinya meledak" ketimbang JVM.

Kenapa?

Ruby MRI = User space thread + bad GC.

User space thread (atau green thread) itu artinya Ruby interpreter yang
mengurusi lifecycle thread. Bener2 hanya Ruby interpreter yang ngurusi
thread.

Cuma Ruby interpreter yang ngurusi thread.

(repetition ain't always sin, right?)

JVM dari sisi virtualisasi juga green thread. Artinya hanya JVM pula yang
ngurusi thread. Tapi thread handler-nya JVM akan memapping thread program
Java terhadap thread OS. Ini artinya logic lifecycle thread di Java akan
dihandle oleh Kernel Threads.

Akibatnya?
Performa Ruby diatas blade server quad processor tidak akan lebih baik
diatas server rakitan mangga dua dengan single prosesor karena Ruby nggak
bisa ambil keuntungan multi processor.

JVM itu cukup baik hati. Dia sudah memapping green thread ke kernel thread
dengan otomatis dan kita bisa mudah memanipulasi Java thread dengan abtraksi
(baca: API) yang menyenangkan.

YARV itu kernel thread. Dan juga seperti JVM, YARV akan memapping green
thread ke kernel thread sembari menyediakan API yang jauuh lebih sexy
ketimbang Runable dan konco-konconya :d

Nah, urusan hosting dan collocation saya pikir sama2 susahnya antara Ruby
dan Java. Issue diantara ISP nggak suka running JVM di server farm
kebanyakan hanya karena masalah lisensi. JVM-nya Sun kan nggak sepenuhnya
kompatibel dengan GPL-way. Dan itu dulu, sebelum JVM di open-sourcekan
seperti saat ini.

Dan ngomong2 tentang hosting dan deployment, jauh lebih gampang Java web
deployment stack ketimbang Ruby (dan Rails) deployment stack. Konfigurasi
nginx + mongrel_cluster, bahkan setelah diotomatisasi pake railsmachine dan
capistrano sekalipiun tetep bukan barang mudah.

Belum lagi monitoring rails-nya. God dan monit cuma bisa console-way.
mongrel_console (hints: camping) memang asyik tapi masih kalah jauh
dibanding java application server.





http://andryshuzain.com


[Non-text portions of this message have been removed]

Kirim email ke