{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/orleans/issues/2159","repository_url":"https://api.github.com/repos/dotnet/orleans","labels_url":"https://api.github.com/repos/dotnet/orleans/issues/2159/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/orleans/issues/2159/comments","events_url":"https://api.github.com/repos/dotnet/orleans/issues/2159/events","html_url":"https://github.com/dotnet/orleans/pull/2159","id":177281839,"number":2159,"title":"Optimize callbacks timeouts","user":{"login":"dVakulen","id":5787619,"avatar_url":"https://avatars.githubusercontent.com/u/5787619?v=3","gravatar_id":"","url":"https://api.github.com/users/dVakulen","html_url":"https://github.com/dVakulen","followers_url":"https://api.github.com/users/dVakulen/followers","following_url":"https://api.github.com/users/dVakulen/following{/other_user}","gists_url":"https://api.github.com/users/dVakulen/gists{/gist_id}","starred_url":"https://api.github.com/users/dVakulen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dVakulen/subscriptions","organizations_url":"https://api.github.com/users/dVakulen/orgs","repos_url":"https://api.github.com/users/dVakulen/repos","events_url":"https://api.github.com/users/dVakulen/events{/privacy}","received_events_url":"https://api.github.com/users/dVakulen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/orleans/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"gabikliot","id":10171207,"avatar_url":"https://avatars.githubusercontent.com/u/10171207?v=3","gravatar_id":"","url":"https://api.github.com/users/gabikliot","html_url":"https://github.com/gabikliot","followers_url":"https://api.github.com/users/gabikliot/followers","following_url":"https://api.github.com/users/gabikliot/following{/other_user}","gists_url":"https://api.github.com/users/gabikliot/gists{/gist_id}","starred_url":"https://api.github.com/users/gabikliot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabikliot/subscriptions","organizations_url":"https://api.github.com/users/gabikliot/orgs","repos_url":"https://api.github.com/users/gabikliot/repos","events_url":"https://api.github.com/users/gabikliot/events{/privacy}","received_events_url":"https://api.github.com/users/gabikliot/received_events","type":"User","site_admin":false},"assignees":[{"login":"gabikliot","id":10171207,"avatar_url":"https://avatars.githubusercontent.com/u/10171207?v=3","gravatar_id":"","url":"https://api.github.com/users/gabikliot","html_url":"https://github.com/gabikliot","followers_url":"https://api.github.com/users/gabikliot/followers","following_url":"https://api.github.com/users/gabikliot/following{/other_user}","gists_url":"https://api.github.com/users/gabikliot/gists{/gist_id}","starred_url":"https://api.github.com/users/gabikliot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabikliot/subscriptions","organizations_url":"https://api.github.com/users/gabikliot/orgs","repos_url":"https://api.github.com/users/gabikliot/repos","events_url":"https://api.github.com/users/gabikliot/events{/privacy}","received_events_url":"https://api.github.com/users/gabikliot/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/orleans/milestones/14","html_url":"https://github.com/dotnet/orleans/milestones/1.4.0","labels_url":"https://api.github.com/repos/dotnet/orleans/milestones/14/labels","id":2017852,"number":14,"title":"1.4.0","description":"","creator":{"login":"sergeybykov","id":8248806,"avatar_url":"https://avatars.githubusercontent.com/u/8248806?v=3","gravatar_id":"","url":"https://api.github.com/users/sergeybykov","html_url":"https://github.com/sergeybykov","followers_url":"https://api.github.com/users/sergeybykov/followers","following_url":"https://api.github.com/users/sergeybykov/following{/other_user}","gists_url":"https://api.github.com/users/sergeybykov/gists{/gist_id}","starred_url":"https://api.github.com/users/sergeybykov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sergeybykov/subscriptions","organizations_url":"https://api.github.com/users/sergeybykov/orgs","repos_url":"https://api.github.com/users/sergeybykov/repos","events_url":"https://api.github.com/users/sergeybykov/events{/privacy}","received_events_url":"https://api.github.com/users/sergeybykov/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":3,"state":"open","created_at":"2016-09-20T23:16:17Z","updated_at":"2016-10-12T17:13:16Z","due_on":null,"closed_at":null},"comments":17,"created_at":"2016-09-15T20:31:11Z","updated_at":"2016-10-25T11:24:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/orleans/pulls/2159","html_url":"https://github.com/dotnet/orleans/pull/2159","diff_url":"https://github.com/dotnet/orleans/pull/2159.diff","patch_url":"https://github.com/dotnet/orleans/pull/2159.patch"},"body":"Creating and disposing of timer per two-way message costs 0.5 seconds per 1 million of callbacks. \r\n\r\nLinear increment of due date allows using of the queue for storing callbacks, with single timer for checking it. \r\nIn some cases callback instance may be promoted to next GC gen, which wouldn't had happen otherwise, but it's doesn't matter much.  \r\n\r\nLocal benchmark shows up to 7% throughput increase, but I'm not sure which effect it will have on the real benchmarks.\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/orleans/issues/comments/256008644","html_url":"https://github.com/dotnet/orleans/pull/2159#issuecomment-256008644","issue_url":"https://api.github.com/repos/dotnet/orleans/issues/2159","id":256008644,"user":{"login":"dVakulen","id":5787619,"avatar_url":"https://avatars.githubusercontent.com/u/5787619?v=3","gravatar_id":"","url":"https://api.github.com/users/dVakulen","html_url":"https://github.com/dVakulen","followers_url":"https://api.github.com/users/dVakulen/followers","following_url":"https://api.github.com/users/dVakulen/following{/other_user}","gists_url":"https://api.github.com/users/dVakulen/gists{/gist_id}","starred_url":"https://api.github.com/users/dVakulen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dVakulen/subscriptions","organizations_url":"https://api.github.com/users/dVakulen/orgs","repos_url":"https://api.github.com/users/dVakulen/repos","events_url":"https://api.github.com/users/dVakulen/events{/privacy}","received_events_url":"https://api.github.com/users/dVakulen/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T11:24:43Z","updated_at":"2016-10-25T11:24:43Z","body":"@ReubenBond Has another run confirmed the improvement?"}}
{"actor":{"display_login":"dVakulen"}}