Blog
Windows IPC
Date: 8/7/2005
I've been looking at various forms of windows IPC and testing them against each other for latency, and I thought I would share my results with you.

The test is basically 100,000 round trips (of 4 byte msgs) between a server and a client. I was surprised at how fast standard IPC is.

Pipes: ~1100ms
Sockets: ~540ms


Sockets seems to win round 1. I've been reading about how calls into the window native API are done, as well as the architecture behind Linux syscalls. As I have an interest in being able to call into another process similar to this for a project I'm working on. Basically windows implements calls like this by loading a function id into EAX and then "int 2e" which is handled by the kernel I think. I'm assuming that it's pretty hard to setup a interrupt handler in a user space process in windows. So far I havn't worked out how to do that. I know less about the linux syscall architecture. I'm hoping of finding a way to implement that sort of thing between 2 user space processes (a server and client) that works on at least linux and windows.

IPC being the fallback if I can't get that to work.
Comments:
SnappyCrunch
09/07/2005 9:32pm
I'm sorry... what? I wasn't listening. You were talking way over my head, and then this pretty girl walked by, and then there was this shiny thing...
 
Reply
From:
Email (optional): (Will be HTML encoded to evade harvesting)
Message:
 
Remember username and/or email in a cookie.
Notify me of new posts in this thread via email.
BBcode:
[q]text[/q]
[url=link]description[/url]
[img]url_to_image[/img]
[pre]some_code[/pre]
[b]bold_text[/b]