Hello, developers.

Initial TCP benchmark.
After tweaking some stuff I run netchannel vs socket TCP benchmark.
Unfortunately currently I'm unable to run 1Gbit test, since my test
machine is slightly broken... So only 100Mbit for now.

Performance graph attached.
Speed is the same, CPU usage is the same 
(socket CPU usage is 1% (or 20% :) more than netchannel one, but let's
throw this away as some experimental error).

Netchannel was setup in copy_to_user mode, so it was not expected to be
faster or eat less CPU, but main purpose of this test was to show that
netchannels with _all_ protocol processing moved to process' context can
be at least that fast as when it is splitted into pieces.
I've found some links in the web and blogs where some developers completely
disagree with VJ idea of moving stuff into process context...
Well, this should break theirs mostly theoretical arguments.

It is clear that using memcpy setup CPU usage numbers (at least) for netchannel 
are noticebly better than for sockets (see previous posted benchmarks). 
I will start changing core networking code to accept different copying 
"actor" methods which will allow to use netchannels preallocated mapped area 
instead of copy_to_user().

Full patch and userspace application are available from netchannel homepage [1].

Thank you.

1. Netchannel homepage.
http://tservice.net.ru/~s0mbre/old/?section=projects&item=netchannel

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>

-- 
        Evgeniy Polyakov

Attachment: netchannel_speed.png
Description: PNG image

Reply via email to