{"action":"created","issue":{"url":"https://api.github.com/repos/D-Programming-Language/druntime/issues/1127","labels_url":"https://api.github.com/repos/D-Programming-Language/druntime/issues/1127/labels{/name}","comments_url":"https://api.github.com/repos/D-Programming-Language/druntime/issues/1127/comments","events_url":"https://api.github.com/repos/D-Programming-Language/druntime/issues/1127/events","html_url":"https://github.com/D-Programming-Language/druntime/pull/1127","id":55434328,"number":1127,"title":"refactor GC.Pool ","user":{"login":"rainers","id":702284,"avatar_url":"https://avatars.githubusercontent.com/u/702284?v=3","gravatar_id":"","url":"https://api.github.com/users/rainers","html_url":"https://github.com/rainers","followers_url":"https://api.github.com/users/rainers/followers","following_url":"https://api.github.com/users/rainers/following{/other_user}","gists_url":"https://api.github.com/users/rainers/gists{/gist_id}","starred_url":"https://api.github.com/users/rainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rainers/subscriptions","organizations_url":"https://api.github.com/users/rainers/orgs","repos_url":"https://api.github.com/users/rainers/repos","events_url":"https://api.github.com/users/rainers/events{/privacy}","received_events_url":"https://api.github.com/users/rainers/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-25T23:05:34Z","updated_at":"2015-01-26T23:07:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/D-Programming-Language/druntime/pulls/1127","html_url":"https://github.com/D-Programming-Language/druntime/pull/1127","diff_url":"https://github.com/D-Programming-Language/druntime/pull/1127.diff","patch_url":"https://github.com/D-Programming-Language/druntime/pull/1127.patch"},"body":"- move getBits,setBits,etc, runFinalizers, getInfo into Pool\r\n- split Pool into LargeObjectPool and SmallObjectPool\r\n\r\nThis yields a small perfomance improvement:\r\n```\r\nTest         Win64 master     this PR       Win32   master   this PR\r\nR bulk             2.105 s,   2.074 s               0.765 s, 0.754 s\r\nR resize           0.875 s,   0.868 s               0.757 s, 0.756 s\r\nR string           0.023 s,   0.023 s               0.024 s, 0.024 s\r\nR conalloc         0.703 s,   0.677 s               0.061 s, 0.063 s\r\nR conappend        0.011 s,   0.011 s               0.012 s, 0.012 s\r\nR concpu           0.835 s,   0.821 s               0.084 s, 0.085 s\r\nR conmsg           0.583 s,   0.557 s               0.619 s, 0.597 s\r\nR dlist            1.609 s,   1.388 s               1.448 s, 1.416 s\r\nR huge_single      0.009 s,   0.009 s               0.010 s, 0.010 s\r\nR rand_large       0.768 s,   0.633 s               3.084 s, 2.655 s\r\nR rand_small       0.534 s,   0.535 s               0.616 s, 0.630 s\r\nR slist            1.544 s,   1.374 s               1.382 s, 1.366 s\r\nR testgc3          1.574 s,   1.401 s               1.087 s, 1.010 s\r\nR tree1            0.610 s,   0.620 s               0.696 s, 0.706 s\r\nR tree2            0.836 s,   0.805 s               0.814 s, 0.817 s\r\nR words            0.808 s,   0.801 s               0.812 s, 0.818 s\r\n```"},"comment":{"url":"https://api.github.com/repos/D-Programming-Language/druntime/issues/comments/71557995","html_url":"https://github.com/D-Programming-Language/druntime/pull/1127#issuecomment-71557995","issue_url":"https://api.github.com/repos/D-Programming-Language/druntime/issues/1127","id":71557995,"user":{"login":"MartinNowak","id":288976,"avatar_url":"https://avatars.githubusercontent.com/u/288976?v=3","gravatar_id":"","url":"https://api.github.com/users/MartinNowak","html_url":"https://github.com/MartinNowak","followers_url":"https://api.github.com/users/MartinNowak/followers","following_url":"https://api.github.com/users/MartinNowak/following{/other_user}","gists_url":"https://api.github.com/users/MartinNowak/gists{/gist_id}","starred_url":"https://api.github.com/users/MartinNowak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartinNowak/subscriptions","organizations_url":"https://api.github.com/users/MartinNowak/orgs","repos_url":"https://api.github.com/users/MartinNowak/repos","events_url":"https://api.github.com/users/MartinNowak/events{/privacy}","received_events_url":"https://api.github.com/users/MartinNowak/received_events","type":"User","site_admin":false},"created_at":"2015-01-26T23:07:17Z","updated_at":"2015-01-26T23:07:17Z","body":"> Sorry for the large changes. I agree, moving code is hard to review. I was also considering moving the Pool into another module. When doing so, I could try to make this from the original code with several commits.\r\n\r\nMmh, let's just go on with the pull as is.\r\nI think keeping Pool in the gc module is fine for now, as the abstraction is tightly coupled with the GC."}}