While it was convenient once to have an immediate check while inserting,
it is indeed far too quadratic. The test was taking 30-60 seconds for
me. =[ So most of the fix here is just to stop doing the check on every
insertion for all previous elements.
There were a few other somewhat slow steps, and I tried to pull those
back as well. I don't think we lose any utility here. Now everything
runs nice and quickly. =]
I've unstacked this and am merging. It was going to have lots of merge conflicts with the growth API anyways, and this way we can get to faster test times sooner.
While it was convenient once to have an immediate check while inserting, it is indeed far too quadratic. The test was taking 30-60 seconds for me. =[ So most of the fix here is just to stop doing the check on every insertion for all previous elements.
There were a few other somewhat slow steps, and I tried to pull those back as well. I don't think we lose any utility here. Now everything runs nice and quickly. =]