Note

This tutorial was generated from a Jupyter notebook that can be downloaded here.

Timing tests

This notebook contains timing tests for starry, comparing it to the previous version of the code and other popular light curve modeling software.

Compare to beta: \(Y_{lm}\) phase curves and occultations

For light curves with fewer than a couple hundred points, the new version of starry is slower than the beta version. That’s because the switch to theano adds a certain amount of overhead to every function call. This is mostly fine, since modern datasets tend to have far more data points; plus, you’ll probably want to oversample the light curve anyways to account for the finite exposure time. That will get us firmly into the territory where the new version is comparable to or faster than the beta version.

../_images/notebooks_TimingTests_7_0.png

Compare to beta: Limb-darkened occultations

Since light curves of purely limb-darkened maps are so much faster to compute than those of spherical harmonic maps, the overhead is more apparent in the limb-darkened case. It’s still a small price to pay for the integration with pymc3 that the new version affords!

../_images/notebooks_TimingTests_10_0.png

Compare to exoplanet: Limb-darkened occultations

The algorithm used by exoplanet for computing occultations of limb-darkened stars is identical to the one used in starry. But since starry is a lot more flexible than the light curve model in exoplanet, it tends to be about a factor of 2 slower. This isn’t a big deal in the grand scheme of things.

../_images/notebooks_TimingTests_13_0.png