> > 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]

