This doesn't really make things shorter, but IMO it increases readability a lot, especially in the get_image_data_p implementation (where the steps are finally listed in the order they happen again like they were back in the blocking version of this code). It's honestly bothered me a lot that readability suffered so much when I converted this code to be non-blocking (back in db217e426ec7229c74f154953dbe2f3e9ad2e157), so this really makes me feel good. 👍
With these changes plus a few tweaks to how update-remote.sh parallelizes, I'm able to successfully regenerate the full set of all repos/**/remote/ files in ~5.5m on my machine (Jenkins is currently taking ~30m, and it's slower so I imagine it'll take somewhere on the order of twice my machine's runtime so hopefully somewhere around ~10m but should definitely be less than ~30m even if we have to bump PARALLELISM back down).
This doesn't really make things shorter, but IMO it increases readability a lot, especially in the
get_image_data_p
implementation (where the steps are finally listed in the order they happen again like they were back in the blocking version of this code). It's honestly bothered me a lot that readability suffered so much when I converted this code to be non-blocking (back in db217e426ec7229c74f154953dbe2f3e9ad2e157), so this really makes me feel good. 👍With these changes plus a few tweaks to how
update-remote.sh
parallelizes, I'm able to successfully regenerate the full set of allrepos/**/remote/
files in ~5.5m on my machine (Jenkins is currently taking ~30m, and it's slower so I imagine it'll take somewhere on the order of twice my machine's runtime so hopefully somewhere around ~10m but should definitely be less than ~30m even if we have to bumpPARALLELISM
back down).