-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Right now all the values and all the slots in the value stores are downloaded when a distribution is referenced. When a module is cross-compiled without a precommand optimizations (like CommonsBase_Std.S7z.MacLinux7zExe), and has N slots, that means O(N^2) entries are present in the value store. That is incredibly slow downloading and wasted storage and network traffic.
But typically we only want the final build values (O(1)).
So separate valuestore.zip into:
assets.valuestore.zip: just the assets for a--assets-onlybuild mode, where a build is rebuilt from scratchpublic.valuestore.zip: this is the default, and only thepublic:precommands of thedistributetargets and theirpublic:dependencies are packedbuild.valuestore.zip: this is every value in the value store, similar to today except the general modification below
General modification:
- Only the values that belong to the
distributepackage should be in the valuestore.zip, plus any distributions (value/dist_json) plus any accepted licenses (add this to tracestore).
Metadata
Metadata
Assignees
Labels
No labels