{"action":"created","issue":{"url":"https://api.github.com/repos/bluss/rust-itertools/issues/97","repository_url":"https://api.github.com/repos/bluss/rust-itertools","labels_url":"https://api.github.com/repos/bluss/rust-itertools/issues/97/labels{/name}","comments_url":"https://api.github.com/repos/bluss/rust-itertools/issues/97/comments","events_url":"https://api.github.com/repos/bluss/rust-itertools/issues/97/events","html_url":"https://github.com/bluss/rust-itertools/pull/97","id":133334308,"number":97,"title":"Add k-way merge adaptor.","user":{"login":"bsteinb","id":3883096,"avatar_url":"https://avatars.githubusercontent.com/u/3883096?v=3","gravatar_id":"","url":"https://api.github.com/users/bsteinb","html_url":"https://github.com/bsteinb","followers_url":"https://api.github.com/users/bsteinb/followers","following_url":"https://api.github.com/users/bsteinb/following{/other_user}","gists_url":"https://api.github.com/users/bsteinb/gists{/gist_id}","starred_url":"https://api.github.com/users/bsteinb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsteinb/subscriptions","organizations_url":"https://api.github.com/users/bsteinb/orgs","repos_url":"https://api.github.com/users/bsteinb/repos","events_url":"https://api.github.com/users/bsteinb/events{/privacy}","received_events_url":"https://api.github.com/users/bsteinb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2016-02-12T20:20:05Z","updated_at":"2016-02-21T17:38:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/bluss/rust-itertools/pulls/97","html_url":"https://github.com/bluss/rust-itertools/pull/97","diff_url":"https://github.com/bluss/rust-itertools/pull/97.diff","patch_url":"https://github.com/bluss/rust-itertools/pull/97.patch"},"body":"Merges an arbitrary number of iterators in ascending order.\r\n\r\nUses `std`'s `BinaryHeap` to decide which iterator to take from next. This seems quite heavyweight. Two-way merge benchmarks take roughly ten times longer than the dedicated two-way merge adaptor. Profiling identifies `BinaryHeap`s `sift_up` as the hot-spot.\r\n\r\nNot completely sure about the interface, the double use of IntoIterator in the free-standing function in particular."},"comment":{"url":"https://api.github.com/repos/bluss/rust-itertools/issues/comments/186866549","html_url":"https://github.com/bluss/rust-itertools/pull/97#issuecomment-186866549","issue_url":"https://api.github.com/repos/bluss/rust-itertools/issues/97","id":186866549,"user":{"login":"bsteinb","id":3883096,"avatar_url":"https://avatars.githubusercontent.com/u/3883096?v=3","gravatar_id":"","url":"https://api.github.com/users/bsteinb","html_url":"https://github.com/bsteinb","followers_url":"https://api.github.com/users/bsteinb/followers","following_url":"https://api.github.com/users/bsteinb/following{/other_user}","gists_url":"https://api.github.com/users/bsteinb/gists{/gist_id}","starred_url":"https://api.github.com/users/bsteinb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsteinb/subscriptions","organizations_url":"https://api.github.com/users/bsteinb/orgs","repos_url":"https://api.github.com/users/bsteinb/repos","events_url":"https://api.github.com/users/bsteinb/events{/privacy}","received_events_url":"https://api.github.com/users/bsteinb/received_events","type":"User","site_admin":false},"created_at":"2016-02-21T17:38:17Z","updated_at":"2016-02-21T17:38:17Z","body":"Heh, wherever it is going, it is not going there fast."}}