Skip to content

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).

pnwamk added 6 commits August 15, 2018 15:32
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.

2 participants