The bitvector-based consets are better for bulk operations (union, intersection, equality, copy), and using a couple indices smartly avoid their weakness (iteration). I tried the same rewrite on top of hash-based consets, but it worked slightly worse.
Compile time for the example above down to < .5 second.
Fixed in 1.0.49.55-e7100f1
The bitvector-based consets are better for bulk operations (union, intersection, equality, copy), and using a couple indices smartly avoid their weakness (iteration). I tried the same rewrite on top of hash-based consets, but it worked slightly worse.
Compile time for the example above down to < .5 second.