Pruning¶
The layout for the Wolfram Engine is a few gigabytes uncompressed. This footprint discourages developers from bundling the layout. Pruning attempts to reduce this footprint.
We have two major strategies for doing so.
The first strategy is removing layout components that are not needed by a particular application. We have two methods for determining and removing unnecessary components. In the first method, we run the Wolfram Language application in a special mode where the files it accesses are recorded. The accessed files give us a good guess as to what layout components are critical and what components can be removed. This mechanism currently involves an amount of pruning by hand. The second method is a tool that automatically analyzes an application’s Wolfram Language source code, and prunes a layout. Currently this mechanism tends to underprune.
The second strategy is changing the BLAS library that the Wolfram system depends on. For x86-64 distributions of the Wolfram system, MKL is used. Typically MKL is around a gigabyte. In certain situations, the BLAS library can be modified in order to reach a smaller footprint.
Developers ready to prune their application should contact ccooley@wolfram.com
.