Bios-Marcel / spoon

Fast `scoop search`, (WIP) full scoop replacement and tab completion
BSD 3-Clause "New" or "Revised" License
5 stars 1 forks source link

Parallelisation of downloads and installations #2

Open Bios-Marcel opened 10 months ago

Bios-Marcel commented 10 months ago

Scoop currently downloads and installs apps sequentually, for example:

download gimp to cache
install gimp
download tea to cache
install tea

Some apps take really long to download and or install, such as gimp. This however prevents other apps from being downloaded / installed during that time. While you usually don't install multiple apps at once, it becomes worth it once you do a scoop update *.

I am currently trying to write a first POC version, however, it seems invoking scoop install after each spoon download (effectively), will not actually be very fast, as the wrapper-calls to scoop aren't fast.

Therefore we'll first need to create full reimplementations of the actuall uninstalling, installing and updating process.

Additionally we need to implement hash-checking after downloads.

Dependencies also need to be handled. So that deps are downloaded first. Especially since deps could technically alreadz be invoked during installation.

Bios-Marcel commented 5 months ago

While the current WIP of installations already parallelised downloading and extracting, this is only in the context of a single application. We can potentially redesign the API in a way that this automatically handles multiple applications with pretty much the same code though.