{"push_id":2688893879,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"58cefeedd70a028d6c26724a1edef57b15bb58f9","before":"47d5ff9039860548fd1e840c4045ab54f5e154c9","commits":[{"sha":"f93a496134f242e6900c029fe4255adce130595f","author":{"name":"Marten van Kerkwijk","email":"38b3863dd0bf5d8cd259bfed3b9cb0c897ac8000@astro.utoronto.ca"},"message":"MAINT: Improve speed of ufunc kwargs parsing.\n\nUsing the realization from inspecting similar CPython code that as we\nintern string names anyway, comparing keys with possible names by\npointer will generally just work.\n\nAlso rather drastically rewrote, to use a new parser with simple\nconversion functions to replace part of the enormous switch/case\nstructure, process out separately, and check for duplication after the\nparsing.\n\nReduces the overhead as follows:\n```\nimport numpy as np\na = np.array(1)\nb = np.empty_like(a)\n%timeit np.positive(a)                                 # 352->348 ns\n%timeit np.positive(a, subok=True)                     # 606->501 ns\n%timeit np.positive(a, where=True)                     # 586->503 ns\n%timeit np.positive(a, where=True, subok=True)         # 695->531 ns\n%timeit np.positive(a, b)                              # 354->352 ns\n%timeit np.positive(a, out=b)                          # 557->480 ns\n%timeit np.positive(a, out=b, subok=True)              # 668->506 ns\n%timeit np.positive(a, out=b, where=True, subok=True)  # 752->536 ns\n```","distinct":true,"url":"https://api.github.com/repos/numpy/numpy/commits/f93a496134f242e6900c029fe4255adce130595f"},{"sha":"58cefeedd70a028d6c26724a1edef57b15bb58f9","author":{"name":"Eric Wieser","email":"da64e90baec5d084ce3d8e05f3b022ae6d118ff5@gmail.com"},"message":"Merge pull request #11351 from mhvk/ufunc-parsing-speedup-alternative\n\nMAINT: Improve speed of ufunc kwargs parsing","distinct":true,"url":"https://api.github.com/repos/numpy/numpy/commits/58cefeedd70a028d6c26724a1edef57b15bb58f9"}]}
{"actor":{"display_login":"eric-wieser"}}