| | 8 | I spent Monday and Tuesday as processing czar, which gave me the opportunity to track down a few outstanding bugs and work on a bit of optimisation. I discovered that the footprint / peak culling process in psphot can sometimes become extremely slow, particularly if a footprint contains a large number of peaks. The culling rate seemed to be much slower than O(N). Part of this was due to the very large number of memory allocation operations for each tested peak, so I reworked the memory management in that function to allocate up-front the necessary support structures. In working out this problem, I also discovered that recent API modifications to psphot caused us to drop the sky error information, which in turn meant that some low-surface-brightness areas could be broken into too many peaks (due to the background sky error not being included in the calculation). Both of these fixes have substantially improved the speed to peak culling -- in a test set, I had been finding 20-30% of psphot analysis runs spending 100+ seconds on just this step; after the fixes, only 1-2% continued to spend substantial compute time on this step, with the rest down in the 2-3 second range. |