saalfeldlab / render

Render transformed image tiles
GNU General Public License v2.0
34 stars 32 forks source link

Optimize distributed solve match fetch #150

Closed trautmane closed 1 year ago

trautmane commented 1 year ago

by adding resolvedTilesWithMatchesFrom API endpoint and integrating it into AffineAlignBlockWorker.

This is just a first draft that produces equivalent results to the original distributed solve implementation. Further refinement is expected. The key optimization achieved was reduction in the number of web service requests for each solve and reduction in the amount of data returned for each request. For a distributed solve of hess_wafer_53::c000_s095_v01, the total number of service GET requests were reduced from 5959 to 208.

minnerbe commented 1 year ago

Other than the minor comments above, seems good to go. The reduction of the queries by an order of magnitude is great!

Thanks for cleaning up the AffineAlignBlockWorker a bit. I'm currently also cleaning this up while trying to split input and output, so I might have to rebase my branch, but this shouldn't be a big deal.