-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
various optimizations #28
Conversation
Well someone has been paying attention to QCon. ;-) It sounds very interesting! I'll take a quick look later today. As a sidebar, do we actually need multiple worker threads in |
I basically converted the boss threads to workers. :-) You are probably right and we don't need more workers at all. I will experiment with this tomorrow. In theory those queues use PS: I didn’t follow GCon, just stumbled upon this presentation after some quick googling. :-) Now that you mentioned it I’m curious. Which talk did you mean? |
@gabor-aranyossy Apparently Norman gave a talk at QCon (this morning!) that covered all of these points, and it was very well received. The timing was just too coincidental to ignore. :-) |
That's great! 👍 I hope it's gonna be available on youtube soon. |
So I did some testing, here are the results. Please consider the tested system as a black box where there are several scalaz-netty channels between machines. I send very small messages one after another and measure the round trip time. I have done 3 measurements in all cases on a wamed-up system. As you can see more workers give slightly better results. What I still don't understand is why async enqueueing performs worse than the blocking one. 1 server worker:
4 server workers:
4 server workers -> async enqueuing:
|
I plan to push one release soon -- version 0.3, for scalaz-stream 0.8 and 0.8a. Then I'll merge this PR, and release a version 0.3.1, so that 0.3 and 0.3.1 differ only by this PR. I'll likely do this tomorrow. if scalaz-stream 0.8.1 and a version of specs2 built on that show up before then, then I'll update the deps to those. |
Sounds great! Thanks. |
Various performance optimizations following the guidelines of Norman Maurer. Check this out.
changes are:
PooledByteBufAllocator
sThis version improves latency about 10% in my use-case. :-)