Performance¶
At this time, we have focused mostly on implementing functionality into the astropy-healpix package, performance is not as good in most cases as the healpy library. Once the API is stable, we will focus on improving performance.
Benchmark¶
To get an idea of how the performance of the two packages compare, we have included some simple benchmarks that compare the healpy-compatible interface of astropy-healpix with healpy itself. These benchmarks are run with:
$ python -m astropy_healpix.bench
Running benchmarks...
fct nest nside size time_healpy time_self ratio
------- ----- ----- ------- ----------- ---------- -------
pix2ang True 1 10 0.0000081 0.0003575 43.91
pix2ang True 128 10 0.0000082 0.0003471 42.52
pix2ang True 1 1000 0.0000399 0.0004751 11.92
pix2ang True 128 1000 0.0000345 0.0004575 13.28
pix2ang True 1 1000000 0.0434032 0.1589150 3.66
pix2ang True 128 1000000 0.0364285 0.1383810 3.80
pix2ang False 1 10 0.0000080 0.0004040 50.30
pix2ang False 128 10 0.0000082 0.0003322 40.63
pix2ang False 1 1000 0.0000400 0.0005005 12.50
pix2ang False 128 1000 0.0000548 0.0005045 9.21
pix2ang False 1 1000000 0.0342841 0.1429310 4.17
pix2ang False 128 1000000 0.0478645 0.1405270 2.94
For small arrays, pix2ang
in astropy-healpix performs worse, but in both
caes the times are less than a millisecond, and such differences may therefore
not matter. For larger arrays, the difference is a factor of a few at most.
We will add more benchmarks over time to provide a more complete picture.