Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Determine if use of ERFA geometry functions in coordinates is a good idea #4664
As discussed in #4571, it might make sense to use some of the angle and geometric operations that are built into ERFA to speed up some of the coordinate operations. However, there's currently a question whether there's a significant performance improvement. Opinions varied somewhat in #4571, but at least my opinion was that we should only do this if there's a significant improvement, and otherwise stick with the pure-python/numpy machinery that currently exists. If we do end up not using any of it, we may want to revert #4571 prior to release (although it should definitely go into a hypothetical future
referenced this issue
Mar 2, 2016
On the philosophical side, I don't entirely agree that we should always prefer a pure-Python "readable" implementation over a black-box library, IF that library is already available and assumed to be well-trusted and validated. In other words I don't see a really good reason to re-invent any SOFA wheels which provide exactly the functionality we need purely for the sake of having a readable implementation. Astropy is first and foremost a production library, and as it matures I think we need to take core performance as a higher priority.
Now of course much of what astropy does is provide a far richer API for complex behaviors, but for low-level grunt work I would argue that ERFA should do the heavy lifting. That's why people make standard libraries, so code can be re-used. However, having said this, I don't know what practical impact the new functions have on existing or new code in coordinates. (I just haven't really looked in detail).
While in the past I have said I don't want to do that, I've come around to @mhvk side here - a