I am doing a simple remote server using sockets and I am noticing that
the performance is no where near where I would expect. I am just doing
a read-eval-print-loop. All the time is in the sockets. Doing 1000
connections, doing basic evals, takes about 1 second. This seems long.
Does anybody have a suggestion of how I can speed this up?
Mike
By the way, the connection is all local on the same computer. I am
trying to create a session server.
skibud2 wrote:
> I am doing a simple remote server using sockets and I am noticing that
> the performance is no where near where I would expect. I am just doing
> a read-eval-print-loop. All the time is in the sockets. Doing 1000
> connections, doing basic evals, takes about 1 second. This seems long.
> Does anybody have a suggestion of how I can speed this up?
>
> Mike
On 21 Oct 2006 22:33:07 -0700, "skibud2" <·············@gmail.com> tried to
confuse everyone with this message:
>I am doing a simple remote server using sockets and I am noticing that
>the performance is no where near where I would expect. I am just doing
>a read-eval-print-loop. All the time is in the sockets. Doing 1000
>connections, doing basic evals, takes about 1 second. This seems long.
>Does anybody have a suggestion of how I can speed this up?
Your benchmark is rather meaningless, because we don't know how fast your
computer is or what code you execute. I wouldn't say that 1 second for 1000
connections is too long (CLISP is not the fastest Lisp out there). Two things
that may speed up your program:
1. Do you run the latest CLISP? I recall a recent version drastically increasing
the performance of Windows sockets.
2. Be sure that your code is compiled, not interpreted. Use compile-file and
compile as necessary.
--
|Don't believe this - you're not worthless ,gr---------.ru
|It's us against millions and we can't take them all... | ue il |
|But we can take them on! | @ma |
| (A Wilhelm Scream - The Rip) |______________|
I am running clisp on linux. It is running on a P4 3.2 ghz processor.
The operation that I am doing is:
(incf x) where x is on the remote server.
remotely -- I can do about 1,000 operations.
locally -- I can do about 1,000,000 operations.
Understandably, the sockets are going to have a decent amount of
overhead. I just wouldn't expect them to have this much. I am compiling
the file and using the simple example of the remote server found here:
http://clisp.cons.org/impnotes/socket.html