{"action":"created","issue":{"url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque/issues/4","repository_url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque","labels_url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque/issues/4/comments","events_url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque/issues/4/events","html_url":"https://github.com/crossbeam-rs/crossbeam-deque/issues/4","id":310543107,"number":4,"title":"Consider providing an option to steal more than one item","user":{"login":"carllerche","id":6180,"avatar_url":"https://avatars3.githubusercontent.com/u/6180?v=4","gravatar_id":"","url":"https://api.github.com/users/carllerche","html_url":"https://github.com/carllerche","followers_url":"https://api.github.com/users/carllerche/followers","following_url":"https://api.github.com/users/carllerche/following{/other_user}","gists_url":"https://api.github.com/users/carllerche/gists{/gist_id}","starred_url":"https://api.github.com/users/carllerche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carllerche/subscriptions","organizations_url":"https://api.github.com/users/carllerche/orgs","repos_url":"https://api.github.com/users/carllerche/repos","events_url":"https://api.github.com/users/carllerche/events{/privacy}","received_events_url":"https://api.github.com/users/carllerche/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-02T17:10:09Z","updated_at":"2018-04-02T18:00:18Z","closed_at":null,"author_association":"NONE","body":"In cases like Tokio (and Go), it is ideal to be able to steal more than one item at a time. I believe that ideally, the Tokio thread pool would like to steal half of a deque at a time. This is also what Go's scheduler does."},"comment":{"url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque/issues/comments/377994999","html_url":"https://github.com/crossbeam-rs/crossbeam-deque/issues/4#issuecomment-377994999","issue_url":"https://api.github.com/repos/crossbeam-rs/crossbeam-deque/issues/4","id":377994999,"user":{"login":"stjepang","id":1303843,"avatar_url":"https://avatars2.githubusercontent.com/u/1303843?v=4","gravatar_id":"","url":"https://api.github.com/users/stjepang","html_url":"https://github.com/stjepang","followers_url":"https://api.github.com/users/stjepang/followers","following_url":"https://api.github.com/users/stjepang/following{/other_user}","gists_url":"https://api.github.com/users/stjepang/gists{/gist_id}","starred_url":"https://api.github.com/users/stjepang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stjepang/subscriptions","organizations_url":"https://api.github.com/users/stjepang/orgs","repos_url":"https://api.github.com/users/stjepang/repos","events_url":"https://api.github.com/users/stjepang/events{/privacy}","received_events_url":"https://api.github.com/users/stjepang/received_events","type":"User","site_admin":false},"created_at":"2018-04-02T18:00:18Z","updated_at":"2018-04-02T18:00:18Z","author_association":"OWNER","body":"For reference, here's the batched steal function in Go's scheduler: \r\nhttps://github.com/golang/go/blob/9d4215311ba573a5b676de85b053eec03e577478/src/runtime/proc.go#L4769\r\n\r\nI'm unsure whether Go uses the Chase-Lev deque (there's no mention of \"Chase-Lev\"), but the code looks very similar.\r\n\r\nThere was previously some discussion on steal-half in https://github.com/crossbeam-rs/crossbeam/pull/148\r\n\r\n@jeehoonkang Are we still facing any unsolved challenges with regards to correctness of steal-half? What's the current of your [`half-stealing`](https://github.com/jeehoonkang/crossbeam-deque/tree/half-stealing) branch?"}}
{"actor":{"display_login":"stjepang"}}