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 - DO NOT MERGE] [Constraint solver] Enable constraint propagation pass. #10825

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
1 participant
@rudkx
Copy link
Member

rudkx commented Jul 8, 2017

Enable the constraint propagation pass in an effort to do a pre-pass to
reduce the amount of work we need to do during constraint solving.

There are still improvements that can be made here, but this is
currently passing tests and showing benefit in cases where we have
overloads taking concrete types, so it's worth enabling and then
incrementally improving.

Despite dramatically speeding up some test cases, because this is a
prepass it is going to result in a marginal slow-down in type checking
of some code. The type checking time for the standard library is
approximately 14% slower on my machine with this enabled (14.06s
vs. 16.03s).

@rudkx rudkx force-pushed the rudkx:propagate-constraints branch 2 times, most recently Jul 8, 2017

[Constraint solver] Enable constraint propagation pass.
Enable the constraint propagation pass in an effort to do a pre-pass to
reduce the amount of work we need to do during constraint solving.

There are still improvements that can be made here, but this is
currently passing tests and showing benefit in cases where we have
overloads taking concrete types, so it's worth enabling and then
incrementally improving.

Despite dramatically speeding up some test cases, because this is a
prepass it is going to result in a marginal slow-down in type checking
of some code. The type checking time for the standard library is
approximately 14% slower on my machine with this enabled (14.06s
vs. 16.03s).

@rudkx rudkx force-pushed the rudkx:propagate-constraints branch to 9e6dac4 Jul 8, 2017

@rudkx

This comment has been minimized.

Copy link
Member

rudkx commented Jul 8, 2017

@swift-ci Please smoke test

@rudkx

This comment has been minimized.

Copy link
Member

rudkx commented Jul 8, 2017

@swift-ci Please test source compatibility

1 similar comment
@rudkx

This comment has been minimized.

Copy link
Member

rudkx commented Jul 8, 2017

@swift-ci Please test source compatibility

@rudkx

This comment has been minimized.

Copy link
Member

rudkx commented Dec 19, 2017

There's little value in leaving this open. It's easy to enable this at some point if we can improve it to where it shows more value.

@rudkx rudkx closed this Dec 19, 2017

@rudkx rudkx deleted the rudkx:propagate-constraints branch Jan 24, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment