about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorMarkus Westerlind <marwes91@gmail.com>2016-03-03 10:43:52 +0100
committerMarkus Westerlind <marwes91@gmail.com>2016-03-21 22:40:30 +0100
commite00cdd73456a3258e317bf68f8fa3a26c9922deb (patch)
tree2d6c4e7a7d4181856a22ee2f315af88197933da4 /src/rustllvm/ExecutionEngineWrapper.cpp
parent6d262db4482e13ec05eb113e57e26d249698b4cf (diff)
downloadrust-e00cdd73456a3258e317bf68f8fa3a26c9922deb.tar.gz
rust-e00cdd73456a3258e317bf68f8fa3a26c9922deb.zip
Improve time complexity of equality relations
This PR adds a `UnificationTable` to the `TypeVariableTable` type which
is used store information about variable equality instead of just
storing them in a vector for later processing. By using a
`UnificationTable` equality relations can be resolved in O(n) (for all
realistic values of n) rather than O(n!) which can give massive
speedups in certain cases (see combine as an example).

Link to combine: https://github.com/Marwes/combine
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions