{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/36993","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/36993/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/36993/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/36993/events","html_url":"https://github.com/rust-lang/rust/pull/36993","id":181319541,"number":36993,"title":"Optimize ObligationForest's NodeState handling.","user":{"login":"nnethercote","id":1940286,"avatar_url":"https://avatars.githubusercontent.com/u/1940286?v=3","gravatar_id":"","url":"https://api.github.com/users/nnethercote","html_url":"https://github.com/nnethercote","followers_url":"https://api.github.com/users/nnethercote/followers","following_url":"https://api.github.com/users/nnethercote/following{/other_user}","gists_url":"https://api.github.com/users/nnethercote/gists{/gist_id}","starred_url":"https://api.github.com/users/nnethercote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nnethercote/subscriptions","organizations_url":"https://api.github.com/users/nnethercote/orgs","repos_url":"https://api.github.com/users/nnethercote/repos","events_url":"https://api.github.com/users/nnethercote/events{/privacy}","received_events_url":"https://api.github.com/users/nnethercote/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"arielb1","id":1830974,"avatar_url":"https://avatars.githubusercontent.com/u/1830974?v=3","gravatar_id":"","url":"https://api.github.com/users/arielb1","html_url":"https://github.com/arielb1","followers_url":"https://api.github.com/users/arielb1/followers","following_url":"https://api.github.com/users/arielb1/following{/other_user}","gists_url":"https://api.github.com/users/arielb1/gists{/gist_id}","starred_url":"https://api.github.com/users/arielb1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arielb1/subscriptions","organizations_url":"https://api.github.com/users/arielb1/orgs","repos_url":"https://api.github.com/users/arielb1/repos","events_url":"https://api.github.com/users/arielb1/events{/privacy}","received_events_url":"https://api.github.com/users/arielb1/received_events","type":"User","site_admin":false},"assignees":[{"login":"arielb1","id":1830974,"avatar_url":"https://avatars.githubusercontent.com/u/1830974?v=3","gravatar_id":"","url":"https://api.github.com/users/arielb1","html_url":"https://github.com/arielb1","followers_url":"https://api.github.com/users/arielb1/followers","following_url":"https://api.github.com/users/arielb1/following{/other_user}","gists_url":"https://api.github.com/users/arielb1/gists{/gist_id}","starred_url":"https://api.github.com/users/arielb1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arielb1/subscriptions","organizations_url":"https://api.github.com/users/arielb1/orgs","repos_url":"https://api.github.com/users/arielb1/repos","events_url":"https://api.github.com/users/arielb1/events{/privacy}","received_events_url":"https://api.github.com/users/arielb1/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2016-10-06T03:59:27Z","updated_at":"2016-10-15T21:48:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/36993","html_url":"https://github.com/rust-lang/rust/pull/36993","diff_url":"https://github.com/rust-lang/rust/pull/36993.diff","patch_url":"https://github.com/rust-lang/rust/pull/36993.patch"},"body":"This commit does the following.\r\n\r\n- Changes `NodeState` from an enum to a `bitflags`. This makes it\r\n  possible to check against multiple possible values in a single bitwise\r\n  operation.\r\n\r\n- Replaces all the hot `match`es involving `NodeState` with `if`/`else`\r\n  chains that ensure that cases are handled in the order of frequency.\r\n\r\n- Partially inlines two functions, `find_cycles_from_node` and\r\n  `mark_as_waiting_from`, at two call sites in order to avoid function\r\n  unnecessary function calls on hot paths.\r\n\r\n- Fully inlines and removes `is_popped`.\r\n\r\nThese changes speeds up rustc-benchmarks/inflate-0.1.0 by about 7% when\r\ndoing debug builds with a stage1 compiler.\r\n\r\nr? @arielb1 "},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/254013186","html_url":"https://github.com/rust-lang/rust/pull/36993#issuecomment-254013186","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/36993","id":254013186,"user":{"login":"zatherz","id":4568670,"avatar_url":"https://avatars.githubusercontent.com/u/4568670?v=3","gravatar_id":"","url":"https://api.github.com/users/zatherz","html_url":"https://github.com/zatherz","followers_url":"https://api.github.com/users/zatherz/followers","following_url":"https://api.github.com/users/zatherz/following{/other_user}","gists_url":"https://api.github.com/users/zatherz/gists{/gist_id}","starred_url":"https://api.github.com/users/zatherz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zatherz/subscriptions","organizations_url":"https://api.github.com/users/zatherz/orgs","repos_url":"https://api.github.com/users/zatherz/repos","events_url":"https://api.github.com/users/zatherz/events{/privacy}","received_events_url":"https://api.github.com/users/zatherz/received_events","type":"User","site_admin":false},"created_at":"2016-10-15T21:48:51Z","updated_at":"2016-10-15T21:48:51Z","body":"I noticed two \"thumbs down emoji\" reactions on my comment. I think it's disrespectful that such a thing exist - people who see a comment with a lot of \"thumbs down emoji\" reactions will immediately think negatively of the author before even reading the content of the comment. @rkruppe and @withoutboats, please consider removing them from my comment. I am surprised that GitHub, an entity that calls itself progressive and diverse still lets people insult and harass others like this."}}
{"actor":{"display_login":"zatherz"}}