I've been wrestling with a mystery lately. The Catsnap tests use a browser-interaction library called Splinter to verify the JavaScript on the pages. After I added a few tests, I started to see some fairly bizarre performance problems.

While the browser was doing things, it was very quick indeed. But at what looked like random times, it would just sit and think about philosophy for a while. I asked about this on the Splinter mailing list and got no responses (I'm not sure how active that mailing list is), so I finally did some investigation on my own.

I created a repository that demonstrates the slow behavior. I've built a fairly minimal amount of behavior, so it's easy to read through. Unfortunately, even though it demonstrates the problem, it still doesn't explain it. I still have no idea why this particular set of steps leads to such a sudden drop-off in performance.

At this point I think I've exhausted my ability to debug this any farther. I'm hoping to take it to the Cobrateam, uh, team, and see if they're interested in helping track down the root cause.