{"action":"created","issue":{"url":"https://api.github.com/repos/coreos/go-etcd/issues/217","labels_url":"https://api.github.com/repos/coreos/go-etcd/issues/217/labels{/name}","comments_url":"https://api.github.com/repos/coreos/go-etcd/issues/217/comments","events_url":"https://api.github.com/repos/coreos/go-etcd/issues/217/events","html_url":"https://github.com/coreos/go-etcd/issues/217","id":84083972,"number":217,"title":"Improve performance of reading responses from etcd by using ugorji codec","user":{"login":"fgrzadkowski","id":10820726,"avatar_url":"https://avatars.githubusercontent.com/u/10820726?v=3","gravatar_id":"","url":"https://api.github.com/users/fgrzadkowski","html_url":"https://github.com/fgrzadkowski","followers_url":"https://api.github.com/users/fgrzadkowski/followers","following_url":"https://api.github.com/users/fgrzadkowski/following{/other_user}","gists_url":"https://api.github.com/users/fgrzadkowski/gists{/gist_id}","starred_url":"https://api.github.com/users/fgrzadkowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgrzadkowski/subscriptions","organizations_url":"https://api.github.com/users/fgrzadkowski/orgs","repos_url":"https://api.github.com/users/fgrzadkowski/repos","events_url":"https://api.github.com/users/fgrzadkowski/events{/privacy}","received_events_url":"https://api.github.com/users/fgrzadkowski/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-02T15:56:33Z","updated_at":"2015-06-02T16:41:15Z","closed_at":null,"body":"In kubernetes we intensively use etcd go client library to communicate with etcd server. We've noticed that unmarshalling responses from etcd takes significant amount of time. One option to improve performance of this library would be to use [ugorji code](https://github.com/ugorji/go/tree/master/codec) that generates code for (un)marshalling, which is much faster than a regular go codec that uses reflections.\r\n\r\nI did initial benchmarks and it gives around ~2 speed up (depending on the size of a Node).\r\n\r\nWould this change be considered if I sent it. It should be very short (1 file with generated code, one line change in response.go and some benchmarks).\r\n\r\n@davidopp @wojtek-t"},"comment":{"url":"https://api.github.com/repos/coreos/go-etcd/issues/comments/108009757","html_url":"https://github.com/coreos/go-etcd/issues/217#issuecomment-108009757","issue_url":"https://api.github.com/repos/coreos/go-etcd/issues/217","id":108009757,"user":{"login":"timothysc","id":169553,"avatar_url":"https://avatars.githubusercontent.com/u/169553?v=3","gravatar_id":"","url":"https://api.github.com/users/timothysc","html_url":"https://github.com/timothysc","followers_url":"https://api.github.com/users/timothysc/followers","following_url":"https://api.github.com/users/timothysc/following{/other_user}","gists_url":"https://api.github.com/users/timothysc/gists{/gist_id}","starred_url":"https://api.github.com/users/timothysc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timothysc/subscriptions","organizations_url":"https://api.github.com/users/timothysc/orgs","repos_url":"https://api.github.com/users/timothysc/repos","events_url":"https://api.github.com/users/timothysc/events{/privacy}","received_events_url":"https://api.github.com/users/timothysc/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T16:41:15Z","updated_at":"2015-06-02T16:41:15Z","body":"cc @eparis"}}