improve performance of _determineActualTypes #78
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Commit message:
I ran the following command to observe the performance improvement:
$ time node --eval 'const R = require("ramda"), $ = require("."), a = $.TypeVariable("a"), def = $.create({checkTypes: true, env: $.env}), id = def("id", {}, [a, a], x => x); id(R.range(0, 100 * 1000))'
On my computer this takes about 1.5 seconds on
dc-perf
compared with about 5 seconds onmaster
.100,000 elements was about as large as I could make the array without blowing the stack on
master
.