Floco: symlink performance improvements

A pretty big performance improvement was migrated into the floco beta from alpha project.

I’d been holding out to get this migrated until I could dial in the user interfaces, but I’m incredibly happy to have it ready. It’s now possible to declare “pins” ( yields symlinks ) and/or explicitly mark symlinks in treeInfo specs.

Using symlinks instead of copying dependencies has a night and day difference in performance, finally pushing the beta repository ahead of npm and yarn in distributed installs. To clarify that: if you are using binary caches, you’re generally faster than npm or yarn installs.

Here’s an example declaration for arborist: floco/pdefs.nix at 77e38e7be7b99b5f7e04d32747389803c03f0a53 · aakropotkin/floco · GitHub

Incoming next week is CLI integration and config options to set translators to emit pins/link trees. This is in progress on a branch and I’m working out smarter handling for dependency cycles.

1 Like