{"action":"created","issue":{"url":"https://api.github.com/repos/broadinstitute/picard/issues/363","labels_url":"https://api.github.com/repos/broadinstitute/picard/issues/363/labels{/name}","comments_url":"https://api.github.com/repos/broadinstitute/picard/issues/363/comments","events_url":"https://api.github.com/repos/broadinstitute/picard/issues/363/events","html_url":"https://github.com/broadinstitute/picard/pull/363","id":123208594,"number":363,"title":"Performance improvements to CollectSequencingArtifactMetrics to make it faster.","user":{"login":"eitanbanks","id":2751498,"avatar_url":"https://avatars.githubusercontent.com/u/2751498?v=3","gravatar_id":"","url":"https://api.github.com/users/eitanbanks","html_url":"https://github.com/eitanbanks","followers_url":"https://api.github.com/users/eitanbanks/followers","following_url":"https://api.github.com/users/eitanbanks/following{/other_user}","gists_url":"https://api.github.com/users/eitanbanks/gists{/gist_id}","starred_url":"https://api.github.com/users/eitanbanks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eitanbanks/subscriptions","organizations_url":"https://api.github.com/users/eitanbanks/orgs","repos_url":"https://api.github.com/users/eitanbanks/repos","events_url":"https://api.github.com/users/eitanbanks/events{/privacy}","received_events_url":"https://api.github.com/users/eitanbanks/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"yfarjoun","id":2745554,"avatar_url":"https://avatars.githubusercontent.com/u/2745554?v=3","gravatar_id":"","url":"https://api.github.com/users/yfarjoun","html_url":"https://github.com/yfarjoun","followers_url":"https://api.github.com/users/yfarjoun/followers","following_url":"https://api.github.com/users/yfarjoun/following{/other_user}","gists_url":"https://api.github.com/users/yfarjoun/gists{/gist_id}","starred_url":"https://api.github.com/users/yfarjoun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yfarjoun/subscriptions","organizations_url":"https://api.github.com/users/yfarjoun/orgs","repos_url":"https://api.github.com/users/yfarjoun/repos","events_url":"https://api.github.com/users/yfarjoun/events{/privacy}","received_events_url":"https://api.github.com/users/yfarjoun/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-12-21T04:16:51Z","updated_at":"2015-12-21T05:25:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/broadinstitute/picard/pulls/363","html_url":"https://github.com/broadinstitute/picard/pull/363","diff_url":"https://github.com/broadinstitute/picard/pull/363.diff","patch_url":"https://github.com/broadinstitute/picard/pull/363.patch"},"body":"DO NOT MERGE YET.  NEEDS SIGNIFICANT IN-PERSON REVIEW WITH YOSSI.\r\n\r\n1. 40% of the runtime went to reading and parsing the original qualities from the BAM.\r\nGiven that it is only used as a quality cutoff, we can just use the standard (recalibrated)\r\nquals and save this pain.\r\n\r\n2. Get rid of the nested maps; there are a known number of possible transitions so use an array.\r\n\r\n3. Stop doing String addition in the Transition class; array lookups are faster.\r\n\r\n4. Cache the upper-cased string version of the reference; don't create a string for every\r\nbase in every read."},"comment":{"url":"https://api.github.com/repos/broadinstitute/picard/issues/comments/166207410","html_url":"https://github.com/broadinstitute/picard/pull/363#issuecomment-166207410","issue_url":"https://api.github.com/repos/broadinstitute/picard/issues/363","id":166207410,"user":{"login":"yfarjoun","id":2745554,"avatar_url":"https://avatars.githubusercontent.com/u/2745554?v=3","gravatar_id":"","url":"https://api.github.com/users/yfarjoun","html_url":"https://github.com/yfarjoun","followers_url":"https://api.github.com/users/yfarjoun/followers","following_url":"https://api.github.com/users/yfarjoun/following{/other_user}","gists_url":"https://api.github.com/users/yfarjoun/gists{/gist_id}","starred_url":"https://api.github.com/users/yfarjoun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yfarjoun/subscriptions","organizations_url":"https://api.github.com/users/yfarjoun/orgs","repos_url":"https://api.github.com/users/yfarjoun/repos","events_url":"https://api.github.com/users/yfarjoun/events{/privacy}","received_events_url":"https://api.github.com/users/yfarjoun/received_events","type":"User","site_admin":false},"created_at":"2015-12-21T05:25:37Z","updated_at":"2015-12-21T05:25:37Z","body":"That's awesome! I'm looking at the code now.\n\nOn Sun, Dec 20, 2015 at 11:32 PM, Eric Banks <notifications@github.com>\nwrote:\n\n> @ktibbett <https://github.com/ktibbett> @yfarjoun\n> <https://github.com/yfarjoun> This is the best I could do for now. We go\n> from consistently hitting 80 sec per 1M reads in the previous version to 15\n> sec now (so ~5 hours over the whole genome instead of 28 hours).\n>\n> Yossi, I'd like you to really look this over and make sure I haven't\n> changed the behavior at all. It will likely mean having to sit side by side\n> to review, so feel free to schedule something on my calendar (and bring\n> coffee!).\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/broadinstitute/picard/pull/363#issuecomment-166201240>\n> .\n>\n"}}