Yowza! I found the problem. I was putting reclaimed IDs into an array, and then checking each new reclaimed ID against the contents of that array. This is an O(n^2) algorithm - very bad. I have changed the code to use a hash, reducing this check to an O(1) algorithm.
Give OIO 3.34 a try. I'm sure you'll be much happier with the preformance. Thanks for working with me on this.
(2)
]
