[nanomsg] daily nng progress update. :-)

  • From: "Garrett D'Amore" <garrett@xxxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Sun, 22 Jan 2017 02:39:38 -0800

Good news is that I’ve implemented NNG_OPT_SNDFD and NNG_OPT_RCVFD.

The bad news is that I’m not thrilled with the extra levels of indirection
I’ve had to do have done to performance — the context switching between
threads has a measurable impact — cutting my performance into about half of
what it was before.

I have some ideas for how to fix this — including disabling notifications
for cases where the caller hasn’t asked for them, and avoiding one more
context switch even when I do notifications if the socket is buffered.
 (Unbuffered sockets have to endure some pain — not sure how I can help
them.)

Anyway, optimizations aside, I’m reasonably comfortable with the API now,
and all of the critical functionality required for the compatibility layer
is now implemented.  I had hoped to have that layer implemented tonight,
but its taken a while to debug the various event stuff on the different
platforms.

I’ll probably focus on finishing this functionality before I go back to
work out the context switch related issues.

 - Garrett

Other related posts: