{"action":"created","issue":{"url":"https://api.github.com/repos/lewang/flx/issues/75","labels_url":"https://api.github.com/repos/lewang/flx/issues/75/labels{/name}","comments_url":"https://api.github.com/repos/lewang/flx/issues/75/comments","events_url":"https://api.github.com/repos/lewang/flx/issues/75/events","html_url":"https://github.com/lewang/flx/pull/75","id":112881678,"number":75,"title":"Add turbochargers","user":{"login":"PythonNut","id":5009546,"avatar_url":"https://avatars.githubusercontent.com/u/5009546?v=3","gravatar_id":"","url":"https://api.github.com/users/PythonNut","html_url":"https://github.com/PythonNut","followers_url":"https://api.github.com/users/PythonNut/followers","following_url":"https://api.github.com/users/PythonNut/following{/other_user}","gists_url":"https://api.github.com/users/PythonNut/gists{/gist_id}","starred_url":"https://api.github.com/users/PythonNut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PythonNut/subscriptions","organizations_url":"https://api.github.com/users/PythonNut/orgs","repos_url":"https://api.github.com/users/PythonNut/repos","events_url":"https://api.github.com/users/PythonNut/events{/privacy}","received_events_url":"https://api.github.com/users/PythonNut/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-10-22T20:09:33Z","updated_at":"2015-10-23T16:35:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/lewang/flx/pulls/75","html_url":"https://github.com/lewang/flx/pull/75","diff_url":"https://github.com/lewang/flx/pull/75.diff","patch_url":"https://github.com/lewang/flx/pull/75.patch"},"body":"This PR adds the following optimizations:\r\n\r\n1. Let bindings are moved out of inner loops, saving stack trashing.\r\n2. Match collection is now implemented with a dynamic programming table.\r\n3. Unpromising branches (i.e. all non-optimal matches) are pruned immediately\r\n\r\nThe code is, unfortunately, very dense and difficult to follow. I did my best, but I'm pretty sure I broke my brain making this. \r\n\r\nScoring should behave identically, according to my testing. \r\n\r\nSee also:\r\n* #34 \r\n* https://github.com/PythonNut/helm-flx/issues/9\r\n* https://github.com/syl20bnr/spacemacs/issues/3327#issuecomment-150109947\r\n* https://github.com/syl20bnr/spacemacs/issues/3500\r\n\r\nThis is preliminary and needs some heavy testing. I'm not too sure how the math works out for (3). I think it shouldn't cause any incompatibilities, but I'm to tired to prove it right now."},"comment":{"url":"https://api.github.com/repos/lewang/flx/issues/comments/150627497","html_url":"https://github.com/lewang/flx/pull/75#issuecomment-150627497","issue_url":"https://api.github.com/repos/lewang/flx/issues/75","id":150627497,"user":{"login":"PythonNut","id":5009546,"avatar_url":"https://avatars.githubusercontent.com/u/5009546?v=3","gravatar_id":"","url":"https://api.github.com/users/PythonNut","html_url":"https://github.com/PythonNut","followers_url":"https://api.github.com/users/PythonNut/followers","following_url":"https://api.github.com/users/PythonNut/following{/other_user}","gists_url":"https://api.github.com/users/PythonNut/gists{/gist_id}","starred_url":"https://api.github.com/users/PythonNut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PythonNut/subscriptions","organizations_url":"https://api.github.com/users/PythonNut/orgs","repos_url":"https://api.github.com/users/PythonNut/repos","events_url":"https://api.github.com/users/PythonNut/events{/privacy}","received_events_url":"https://api.github.com/users/PythonNut/received_events","type":"User","site_admin":false},"created_at":"2015-10-23T16:35:49Z","updated_at":"2015-10-23T16:35:49Z","body":"@lewang you mean like the case found in https://github.com/lewang/flx/issues/34?"}}