AOtools / aotools

A useful set of tools for Adaptive Optics in Python
GNU Lesser General Public License v3.0
109 stars 42 forks source link

Inifinite Phase Screen startup performance improvement #57

Closed andrewpaulreeves closed 4 years ago

andrewpaulreeves commented 4 years ago

The infinite phase screen code spends a lot of time "calculating seperations" as it does nested Python loop. Its much quicker re-implemented in Numba. Optional import so code still works without Numba, just slower.

codecov[bot] commented 4 years ago

Codecov Report

Merging #57 into master will decrease coverage by 1.27%. The diff coverage is 30.76%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #57      +/-   ##
==========================================
- Coverage   94.97%   93.70%   -1.28%     
==========================================
  Files          24       24              
  Lines        1175     1191      +16     
==========================================
  Hits         1116     1116              
- Misses         59       75      +16     
Impacted Files Coverage Δ
aotools/turbulence/infinitephasescreen.py 86.09% <30.76%> (-10.21%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 025e059...c079baf. Read the comment docs.

matthewtownson commented 4 years ago

That is a lot faster! Thanks.