[ 
https://issues.apache.org/jira/browse/THRIFT-5?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Duxbury updated THRIFT-5:
-------------------------------

    Attachment: thrift-5-v4.patch

This latest version cleans up a lot of stuff, removing unnecessary complexity 
in the select thread and using fewer states in FrameBuffer operation. The goal 
was to speed it up a little bit, but I don't think it's going to get much 
faster. (Simple void method with no params does about 5155 requests/sec on 
localhost.)

> Need a thread pool server that is fair in terms of invocations, not sockets
> ---------------------------------------------------------------------------
>
>                 Key: THRIFT-5
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Java)
>            Reporter: Bryan Duxbury
>         Attachments: thrift-5-v2.patch, thrift-5-v3.patch, thrift-5-v4.patch, 
> thrift-5.patch
>
>
> The current TThreadPoolServer in the Java libraries is suboptimal. If you 
> actually limit the upper bound of threads, and you have long-lived clients, 
> and you have more clients than you have max allowed threads, then any clients 
> in excess of the max number of threads will never be given a time slice to 
> execute. 
> Conceptually, it seems like the correct behavior here is for the individual 
> method invocations to be the items that end up on the thread pool's execution 
> queue, not the individual client sockets (as it is now). This would support 
> this and other use cases better. 
> Perhaps we should do a Half-Sync/Half-Async server to fulfill this goal?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to