{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6351","repository_url":"https://api.github.com/repos/cockroachdb/cockroach","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6351/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6351/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6351/events","html_url":"https://github.com/cockroachdb/cockroach/pull/6351","id":151413961,"number":6351,"title":"storage/engine: add Iterator.{Next,Prev}Key operations","user":{"login":"petermattis","id":6201335,"avatar_url":"https://avatars.githubusercontent.com/u/6201335?v=3","gravatar_id":"","url":"https://api.github.com/users/petermattis","html_url":"https://github.com/petermattis","followers_url":"https://api.github.com/users/petermattis/followers","following_url":"https://api.github.com/users/petermattis/following{/other_user}","gists_url":"https://api.github.com/users/petermattis/gists{/gist_id}","starred_url":"https://api.github.com/users/petermattis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petermattis/subscriptions","organizations_url":"https://api.github.com/users/petermattis/orgs","repos_url":"https://api.github.com/users/petermattis/repos","events_url":"https://api.github.com/users/petermattis/events{/privacy}","received_events_url":"https://api.github.com/users/petermattis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"cuongdo","id":1564582,"avatar_url":"https://avatars.githubusercontent.com/u/1564582?v=3","gravatar_id":"","url":"https://api.github.com/users/cuongdo","html_url":"https://github.com/cuongdo","followers_url":"https://api.github.com/users/cuongdo/followers","following_url":"https://api.github.com/users/cuongdo/following{/other_user}","gists_url":"https://api.github.com/users/cuongdo/gists{/gist_id}","starred_url":"https://api.github.com/users/cuongdo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cuongdo/subscriptions","organizations_url":"https://api.github.com/users/cuongdo/orgs","repos_url":"https://api.github.com/users/cuongdo/repos","events_url":"https://api.github.com/users/cuongdo/events{/privacy}","received_events_url":"https://api.github.com/users/cuongdo/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2016-04-27T15:22:34Z","updated_at":"2016-04-27T17:33:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cockroachdb/cockroach/pulls/6351","html_url":"https://github.com/cockroachdb/cockroach/pull/6351","diff_url":"https://github.com/cockroachdb/cockroach/pull/6351.diff","patch_url":"https://github.com/cockroachdb/cockroach/pull/6351.patch"},"body":"The `Iterator.{Next,Prev}Key` operations advance (or move back) the\niterator to the next key as opposed to advancing to the next\nversion. This speeds up the common case of iteration over keys where\nthere is only a single version.\n\n```\nname                   old time/op    new time/op    delta\nKVScan1_Native-32         388µs ± 5%     397µs ± 6%   +2.24%        (p=0.013 n=20+20)\nKVScan1_SQL-32            208µs ± 4%     207µs ± 2%     ~           (p=0.192 n=20+20)\nKVScan10_Native-32        438µs ± 5%     440µs ± 4%     ~           (p=0.166 n=19+20)\nKVScan10_SQL-32           286µs ± 4%     267µs ± 2%   -6.59%        (p=0.000 n=20+20)\nKVScan100_Native-32       782µs ± 3%     685µs ± 2%  -12.46%        (p=0.000 n=19+19)\nKVScan100_SQL-32          947µs ± 6%     749µs ± 3%  -20.88%        (p=0.000 n=20+19)\nKVScan1000_Native-32     3.77ms ± 3%    2.82ms ± 5%  -25.09%        (p=0.000 n=19+19)\nKVScan1000_SQL-32        7.33ms ± 7%    5.17ms ± 2%  -29.51%        (p=0.000 n=20+17)\nKVScan10000_Native-32    38.1ms ± 4%    28.2ms ± 4%  -26.00%        (p=0.000 n=19+20)\nKVScan10000_SQL-32       73.9ms ± 6%    50.3ms ± 6%  -31.95%        (p=0.000 n=19+17)\n```\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"35\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/cockroachdb/cockroach/6351)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/215162813","html_url":"https://github.com/cockroachdb/cockroach/pull/6351#issuecomment-215162813","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6351","id":215162813,"user":{"login":"bdarnell","id":160562,"avatar_url":"https://avatars.githubusercontent.com/u/160562?v=3","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false},"created_at":"2016-04-27T17:33:27Z","updated_at":"2016-04-27T17:33:27Z","body":"<img class=\"emoji\" title=\":lgtm:\" alt=\":lgtm:\" align=\"absmiddle\" src=\"https://reviewable.io/lgtm.png\" height=\"20\" width=\"61\"/>\n\n---\n\nReviewed 5 of 5 files at r1.\nReview status: all files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.\n\n---\n\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/cockroachdb/cockroach/6351#-:-KGNm3WIfsZ5whSXqPKe:1417088721)*\n<!-- Sent from Reviewable.io -->\n"}}