{"action":"created","issue":{"url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/issues/103","labels_url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/issues/103/labels{/name}","comments_url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/issues/103/comments","events_url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/issues/103/events","html_url":"https://github.com/QuantEcon/QuantEcon.py/pull/103","id":50379162,"number":103,"title":"GTH_SOLVE: Numba version","user":{"login":"oyamad","id":7353083,"avatar_url":"https://avatars.githubusercontent.com/u/7353083?v=3","gravatar_id":"","url":"https://api.github.com/users/oyamad","html_url":"https://github.com/oyamad","followers_url":"https://api.github.com/users/oyamad/followers","following_url":"https://api.github.com/users/oyamad/following{/other_user}","gists_url":"https://api.github.com/users/oyamad/gists{/gist_id}","starred_url":"https://api.github.com/users/oyamad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oyamad/subscriptions","organizations_url":"https://api.github.com/users/oyamad/orgs","repos_url":"https://api.github.com/users/oyamad/repos","events_url":"https://api.github.com/users/oyamad/events{/privacy}","received_events_url":"https://api.github.com/users/oyamad/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":25,"created_at":"2014-11-28T14:28:01Z","updated_at":"2015-05-03T08:11:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/pulls/103","html_url":"https://github.com/QuantEcon/QuantEcon.py/pull/103","diff_url":"https://github.com/QuantEcon/QuantEcon.py/pull/103.diff","patch_url":"https://github.com/QuantEcon/QuantEcon.py/pull/103.patch"},"body":"This is to open a discussion on the trade-off between speed and simplicity/clarity of the code, with a concrete example with `gth_solve` where I replaced the current, Numpy-based vectorized version with a Numba version.\r\n\r\n* The routine is divided into the wrapper part  and the jit-compiled part `_gth_solve_jit`.\r\n* Matrix operations are replaced with many for loops in `_gth_solve_jit`, while the code there is now almost the same as the Julia version.\r\n* The Numba version is 3x-30x faster than the Numpy version: see the performance comparison [here](https://github.com/oyamad/gth_solve_numba).  \r\n  (The option `overwrite` has been dropped as it did not contribute much to speed-up.)\r\n\r\nYou guys have already had a discussion on the trade-off before #36. What degree of speed-up justifies the use of Numba? Any thoughts on this particular case?"},"comment":{"url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/issues/comments/98453648","html_url":"https://github.com/QuantEcon/QuantEcon.py/pull/103#issuecomment-98453648","issue_url":"https://api.github.com/repos/QuantEcon/QuantEcon.py/issues/103","id":98453648,"user":{"login":"coveralls","id":2354108,"avatar_url":"https://avatars.githubusercontent.com/u/2354108?v=3","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2015-05-03T08:11:23Z","updated_at":"2015-05-03T08:11:23Z","body":"\n[![Coverage Status](https://coveralls.io/builds/2474770/badge)](https://coveralls.io/builds/2474770)\n\nChanges Unknown when pulling **89302ec824d0e080906ded35f101f13440e97b8a on oyamad:gth_solve_jit** into ** on QuantEcon:master**.\n"}}