←back to thread

256 points keepamovin | 2 comments | | HN request time: 0.482s | source
Show context
zh3 ◴[] No.44349227[source]
Seared into my soul is the experience porting a linux pipe-based application to Windows, thinking it's all posix and given it's all in memory the performance will be more or less the same. The performance was hideous, even after we found that having pipes waiting for a connection more or less ground windows to a halt.

Some years later this got revisited due to needing to use the same thing under C# on Win10 and while it was better it was still a major embarrassment how big the performance gap was.

replies(6): >>44349822 #>>44349883 #>>44349995 #>>44352604 #>>44354110 #>>44356780 #
andrewmcwatters ◴[] No.44349822[source]
Did you find that you needed interprocess communication to replace the gap?
replies(1): >>44352194 #
1. spacechild1 ◴[] No.44352194[source]
pipes are a form of interprocess communication :) I guess you meant shared memory?
replies(1): >>44352283 #
2. andrewmcwatters ◴[] No.44352283[source]
Yes. Yeah, you're right. Sockets could also be used, but I guess when I think of IPC, I generally think of shared memory.