Skip to content
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

Distribution size of FStar #3434

Open
kant2002 opened this issue Sep 4, 2024 · 3 comments
Open

Distribution size of FStar #3434

kant2002 opened this issue Sep 4, 2024 · 3 comments

Comments

@kant2002
Copy link
Contributor

kant2002 commented Sep 4, 2024

I would like to start discussion of FStar compiler distribution size.
Currently package is 630 Mb or so. I build tooling to the F* for .NET land and publish compiler as Nuget, so developer did not deal with all that hassle.

I'm not familiar with Ocaml that much, and what I see where time is spend

fstar\lib\fstar\.cache\*.checked 136Mb
fstar\lib\fstar\lib\*.a 127Mb
fstar\lib\fstar\lib\*.cmi 6Mb
fstar\lib\fstar\lib\*.cmt 202Mb
fstar\lib\fstar\lib\*.cmxs 32Mb
fstar\lib\fstar\lib\*.cmx 5Mb
fstar\lib\fstar\lib\*.ml 5Mb

I understand that some of that definitely needed. But do other should be part of the package?

@kant2002
Copy link
Contributor Author

As was suggested on Slack by @protz removal of CMT files help. I now able to pass Nuget package size threshold.

@mtzguido
Copy link
Member

Thanks for bringing this up Andrii!

I tried some changes in a PR to remove the cmt files. With this, the tar.gz for a package drops to 203MB. I think the PR should be fine, but I'd like to research a bit more before merging. If you're building from source maybe you can try it out too?

@kant2002
Copy link
Contributor Author

I try to simplify my life and use released zip and tar.gz for distribution. IMain problem was Windows distribution which is somehow significantly (larger). +300Mb unpacked. It’s zipped again by tooling (nature of Nuget)

so right now I just manually remove CMT files after unpacking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants