You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current algorithm only symlinks after tarball is downloaded, extracted, and installed. But symlink operation does not require target to exist.
There is also a hidden assumption that the linking of dependencies of a package to be only performed after the package is installed. This makes the caching mechanism more complicated and convoluted than necessary: If a cache key is hit, it will wait for the cache value to be available to links its own dependencies (so-called auto_import in the code).
Separating the symlink operations from the tarball download/extract/install operation could potentially speed up the process. It would also allow early returns in case of a cache hit, simplifying the data structure of Cache and the algorithm used by the caching mechanism.
This endeavor should be easier after #128 is completed.
The text was updated successfully, but these errors were encountered:
KSXGitHub
changed the title
TODO: fix the algorithm used by pacquet install
The algorithm used by pacquet install without lockfile is unnecessarily complicated
Sep 30, 2023
KSXGitHub
changed the title
The algorithm used by pacquet install without lockfile is unnecessarily complicated
TODO: the algorithm used by pacquet install without lockfile is unnecessarily complicated
Sep 30, 2023
KSXGitHub
changed the title
TODO: the algorithm used by pacquet install without lockfile is unnecessarily complicated
TODO: the algorithm and caching mechanism used by pacquet install without lockfile is unnecessarily complicated
Sep 30, 2023
The current algorithm only symlinks after tarball is downloaded, extracted, and installed. But symlink operation does not require target to exist.
There is also a hidden assumption that the linking of dependencies of a package to be only performed after the package is installed. This makes the caching mechanism more complicated and convoluted than necessary: If a cache key is hit, it will wait for the cache value to be available to links its own dependencies (so-called
auto_import
in the code).Separating the symlink operations from the tarball download/extract/install operation could potentially speed up the process. It would also allow early returns in case of a cache hit, simplifying the data structure of
Cache
and the algorithm used by the caching mechanism.This endeavor should be easier after #128 is completed.
The text was updated successfully, but these errors were encountered: