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

WIP: more complete function application for case-> #757

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

pnwamk
Copy link
Member

@pnwamk pnwamk commented Aug 2, 2018

Related to RFC #756.

Currently a WIP! Hoping to get some of the heavily used larger numeric types benefiting from more complete function application in order to see how things look and how this affects type checking times (see commit comments for some numbers at the moment).

i.e. when applying a case->, the result is the intersection of
each applicable range.

Here are some quickly gathered performance results from this change:

Compile time ratio (old time / new time):
schml-specify-rep: 0.99 (i.e. slower, 8.63s (σ 0.09) to 8.72s (σ 0.05))
schml-interp-casts-help: 1.01 (i.e. faster, 20.05s (σ 0.24) to 19.77s (σ 0.01))
parser: 0.95 (i.e. slower, 2.22s (σ 0.05) to 2.33s (σ 0.09))
old-metrics: 0.96 (i.e. slower, 2.68s (σ 0.04) to 2.78s (σ 0.09))
new-metrics: 0.98 (i.e. slower, 3.61s (σ 0.02) to 3.7s (σ 0.08))
math-flonum: 0.98 (i.e. slower, 3.76s (σ 0.02) to 3.83s (σ 0.08))
fsm: 0.94 (i.e. slower, 4.91s (σ 0.09) to 5.22s (σ 0.19))
forth: 0.97 (i.e. slower, 4.87s (σ 0.18) to 5.01s (σ 0.01))
dungeon: 0.95 (i.e. slower, 8.64s (σ 0.11) to 9.11s (σ 0.18))
bernoulli: 0.95 (i.e. slower, 3.95s (σ 0.04) to 4.16s (σ 0.09))
acquire: 0.96 (i.e. slower, 15.53s (σ 0.23) to 16.2s (σ 0.08))

And for the math library, compile time increased from 2m28.281s
to 2m40.492s.

Note that some primtives (i.e. like those which operate on the
numeric tower) currently have quite verbose function types which
can be greatly simplified after this change is adopted.
@samth samth marked this pull request as draft June 25, 2020 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants