{"action":"created","issue":{"url":"https://api.github.com/repos/google/tarpc/issues/56","repository_url":"https://api.github.com/repos/google/tarpc","labels_url":"https://api.github.com/repos/google/tarpc/issues/56/labels{/name}","comments_url":"https://api.github.com/repos/google/tarpc/issues/56/comments","events_url":"https://api.github.com/repos/google/tarpc/issues/56/events","html_url":"https://github.com/google/tarpc/issues/56","id":180978905,"number":56,"title":"Avoid spawning a new thread for every call.","user":{"login":"jonhoo","id":176295,"avatar_url":"https://avatars.githubusercontent.com/u/176295?v=3","gravatar_id":"","url":"https://api.github.com/users/jonhoo","html_url":"https://github.com/jonhoo","followers_url":"https://api.github.com/users/jonhoo/followers","following_url":"https://api.github.com/users/jonhoo/following{/other_user}","gists_url":"https://api.github.com/users/jonhoo/gists{/gist_id}","starred_url":"https://api.github.com/users/jonhoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonhoo/subscriptions","organizations_url":"https://api.github.com/users/jonhoo/orgs","repos_url":"https://api.github.com/users/jonhoo/repos","events_url":"https://api.github.com/users/jonhoo/events{/privacy}","received_events_url":"https://api.github.com/users/jonhoo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2016-10-04T19:11:52Z","updated_at":"2016-10-05T00:13:49Z","closed_at":null,"body":"Unless I'm mistaken, `tarpc` currently spawns a new thread [for every RPC](https://github.com/google/tarpc/blob/master/src/macros.rs#L573). For a high-traffic service where each RPC handler exist quickly, this adds a lot of overhead. It'd be nice if a thread pool could be used instead to save some of the overhead. Is this something that's on the roadmap? I noticed it was mentioned as a drawback in @shaladdle's Reddit post [announcing the project](https://www.reddit.com/r/rust/comments/46bzyz/announcing_tarpc_a_simple_rpc_library/d03wcun) in March, but haven't seen it mentioned anywhere else since."},"comment":{"url":"https://api.github.com/repos/google/tarpc/issues/comments/251549519","html_url":"https://github.com/google/tarpc/issues/56#issuecomment-251549519","issue_url":"https://api.github.com/repos/google/tarpc/issues/56","id":251549519,"user":{"login":"jonhoo","id":176295,"avatar_url":"https://avatars.githubusercontent.com/u/176295?v=3","gravatar_id":"","url":"https://api.github.com/users/jonhoo","html_url":"https://github.com/jonhoo","followers_url":"https://api.github.com/users/jonhoo/followers","following_url":"https://api.github.com/users/jonhoo/following{/other_user}","gists_url":"https://api.github.com/users/jonhoo/gists{/gist_id}","starred_url":"https://api.github.com/users/jonhoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonhoo/subscriptions","organizations_url":"https://api.github.com/users/jonhoo/orgs","repos_url":"https://api.github.com/users/jonhoo/repos","events_url":"https://api.github.com/users/jonhoo/events{/privacy}","received_events_url":"https://api.github.com/users/jonhoo/received_events","type":"User","site_admin":false},"created_at":"2016-10-05T00:13:49Z","updated_at":"2016-10-05T00:13:49Z","body":"Looking some more at the `NewService` `Clone` requirement, this seems to be specific to [`NewService`](https://tokio-rs.github.io/tokio-service/tokio_service/trait.NewService.html). The [`Service` trait](https://tokio-rs.github.io/tokio-service/tokio_service/trait.Service.html) does not have this restriction. As far as I can tell, only the latter is required by the server creation mechanisms in [`tokio_proto`](https://tokio-rs.github.io/tokio-proto/tokio_proto/index.html)? If this is indeed all that is used, relaxing this restriction would be great."}}
{"actor":{"display_login":"jonhoo"}}