On Thursday, September 17, 2009, 3:13:48 PM, Daniel Baktiar wrote:

> who says, nio is faster. nio is more scalable <> faster.

Bergantung dari bagaimana environment dan teknologi yang digunakan
saat melakukan measurement-nya.

Kalau dibandingkannya 1 lawan 1 jelas tidak akan terlihat beda antara
blocking dan non-blocking socket karena measurement ini akan mentok
pada tingkat kecepatan CPU, network, dan hardware server, namun kalau
perbandingannya 100 lawan 100 maka baru akan terlihat nio lebih cepat
ketimbang io konvensional.

async io memanfaatkan event yang ditrigger oleh OS pada level lowest
IO driver yang memungkinkan aplikasi bisa memanfaatkan semua processor
secara penuh (SMP). kalau pake C, di linux hal ini dibantu dengan
memanfaatkan libevent, sementara di Windows memanfaatkan IOCP.

Permasalahannya, untuk bisa memanfaatkan nio secara maksimal dalam
aplikasi, apalagi aplikasi yang sudah terlanjur jadi, tidak gampang.
Servlet API yang umum digunakan dalam multitier di java dibuat dengan
mengasumsikan metodologi socket yang digunakan adalah blocking socket,
ini bisa jadi salah satu bottleneck yang membuat kinerja async io
tidak bisa maksimal.

http://blogs.webtide.com/gregw/2004/02/09/1076359560000.html

kalau pengalaman pribadi, middleware yang saya buat dengan
memanfaatkan async io ini mendapati peningkatan antara 10-20% lebih
baik ketimbang dengan memanfaatkan blocking socket biasa.

-- 
Salam,

-Jaimy Azle

"Great new ideas usually come from very small teams...
 don't give up so easily."
      -- John Kaster


Reply via email to