-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce size of TLAPM release bundle #181
Comments
I have asked about this on the Isabelle zulip here: https://isabelle.zulipchat.com/#narrow/channel/202961-General/topic/Embedding.20Isabelle.20in.20another.20prover.20-.20how.20to.20reduce.20size.3F/near/484789342 |
|
AFAIK we need polyml and probably bash_process and gnu_utils from Isabelle/contrib. As @kape1395 says, Isabelle may now complain if it doesn't see Java, although we don't need it (its absence previously resulted in a warning that could be ignored). From Isabelle/src, we need Provers, Pure, and (some parts of) Tools. It should not be necessary to include the heaps in the distribution as they are (or can be) rebuilt. Isabelle/doc can also be removed if it is included in the distribution. |
@muenchnerkindl in the zulip thread they said Isabelle actually compiles Java code during the normal course of operation which is why the JDK is bundled with it; do you think the way TLAPM uses Isabelle would require it to compile Java code? I'm unfamiliar with the Isabelle toolchain although do hope to learn the basics within the next year or so! |
No, Isabelle/TLA+ doesn't rely on Java, but it may well be that the Isabelle binary checks if Java is present and doesn't start otherwise. |
Currently, TLAPM releases are enormous; on Linux they take up 473 MB zipped and 1.1 GB unzipped, while on macOS they take up 668 MB zipped and 1.5 GB unzipped. This seems far, far larger than should be necessary. Unzipping a Linux TLAPM release, we have the following notably-large components:
There are a few smaller candidates for removal:
tlapm_lsp
; does it need to be there it should it be a separate OPAM package?Isabelle/src
directoryOf course by far the largest size contributor is the
Isabelle/contrib/
directory, which includes full versions of the JDK, Haskell, StandardML, Scala, a second version of Z3, and a bunch of command-line tools & editors that TLAPM would seemingly have no use for. So cutting those out where possible seems like the most effective way to greatly reduce the size of the release binary.The text was updated successfully, but these errors were encountered: