Yohanes Santoso <[EMAIL PROTECTED]> writes:

>> tapi yang lebih menarik itu, pertanyaannya: kenapa pake jruby? apakah
>> karna performance? atau apa?
>
> Karena Java library. 
> JRuby juga menggunakan JVM threading yang kemungkinan besar memakai
> native threading di OS anda. Jadinya bisa take advantage of multiple
> CPUs.

Baru ingat beberapa lagi:

JIT dan generational GC.

JRuby bisa compile ruby code ke JVM bytecode yang mana bisa di compile
ke native code dengan JIT.

Generational GC ideal untuk server apps. Di generational GC, memory
area dibagi ke beberapa generasi dari paling tua ke paling
muda. Object yang umurnya tua masuk ke generasi tua yang stabil dan
tidak usah sering2x dicek. Object yang umurnya muda masuk ke generasi
muda.

Bagusnya adalah, object berumur muda, biasanya dibuat karena
responding to a request. Begitu request selesai, objectnya biasanya
sudah tidak dibutuhkan lagi. Life-cyclenya singkat.

Jadinya waktu garbage collecting, bisa limit aktivitas collecting ke
generasi muda dulu karena mereka lebih volatile dan lebih besar
kemungkinan bisa di collect daripada object tua. Tidak usah ngecek
semua objects, jadinya lebih efisien.

Lagian juga karena generational GC periodically compact the memory
(dalam rangka membagi2x memory are ke beberapa generasi), memory
fragmentation juga jadi low.

YS


Kirim email ke