graphpipe-go
graphpipe-go copied to clipboard
[WIP] Add shared memory support.
- Add shared memory support to client and server.
- Make caching getKey async.
- Add a speed test (that also demonstrates shared memory usage).
Note that this breaks the MultiRemoteRaw API. It also adds a dep on github.com/gen2brain/shm. For this reason alone I might switch to posix shm, which doesn't require any deps.
I don't necessarily need to check in client-test (though it serves as an example of how to construct a shm client). I might move that code to a helper function in client.go.
Never mind: Posix shm isn't very portable (since Darwin has a shm_get syscall while it's a glibc wrapper to open a file on /dev/shm in Linux). Doesn't seem worth it.
Moved the creation of shm client into client.go.