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

Concrete syntax or s-expression basis #774

Open
sorear opened this issue Sep 17, 2020 · 0 comments
Open

Concrete syntax or s-expression basis #774

sorear opened this issue Sep 17, 2020 · 0 comments
Labels
dev experience Makes tasks developing cakeml itself easier enhancement high reward Improvements that will be noticed, >5-10% speedups low effort May still assume familiarity user experience Time needed to perform tasks not related to compiler development

Comments

@sorear
Copy link
Contributor

sorear commented Sep 17, 2020

The basis is 230k as S-expressions but removing it from the sexpr-bootstrap compiler (unscientifically by editing the sexp file) shrinks the binary by 7197k, so replacing the current basis init code with code that parses a S-expression would save nearly 7MB in the compiler and would likely speed up bootstrap proportionally. (This assumes that string literals are stored in rodata; #773) Concrete syntax would be even smaller but may not exist for all constructs in the basis, and would likely be slower to parse.

Bump this up to medium if we don't already have all of the necessary round-trip theorems for the parser.

@sorear sorear added enhancement user experience Time needed to perform tasks not related to compiler development dev experience Makes tasks developing cakeml itself easier low effort May still assume familiarity high reward Improvements that will be noticed, >5-10% speedups labels Sep 17, 2020
sorear added a commit to sorear/cakeml that referenced this issue Nov 19, 2020
This saves approximately 4 MB and 3 hours of build time; compiler
startup is slowed by approximately 700M x64 instructions (a fraction of
a second on contemporary desktops but could be more of an issue for
slower, especially FPGA, targets).

Fixes CakeML#774.
sorear added a commit to sorear/cakeml that referenced this issue Nov 19, 2020
This saves approximately 4 MB and 3 hours of build time; compiler
startup is slowed by approximately 700M x64 instructions (a fraction of
a second on contemporary desktops but could be more of an issue for
slower, especially FPGA, targets).

Fixes CakeML#774.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev experience Makes tasks developing cakeml itself easier enhancement high reward Improvements that will be noticed, >5-10% speedups low effort May still assume familiarity user experience Time needed to perform tasks not related to compiler development
Projects
None yet
Development

No branches or pull requests

1 participant