[ConstraintSystem] Use sparse representation for constraints. (NFC)
Update ConstraintSystem to use a sparse representation for entries in a row. Most rows only contain a small number of variables, so the sparse representation can result in significant speedups. For a large test case from D135915, it halves the time spent in ConstraintElimination. To ensure this returns the same results as the old implementation in all cases, I built a large set of projects with an extra assertion that it produces the same result as the old implementation.
Loading
Please sign in to comment