I was updating raptor SVN to fix bug 245 that said there were duplicate triples in the turtle output(i.e. generated by the internal raptor_abbrev system), by the dumbest functional way to do it – scan all the raptor_sequence of triples gathered. This, as I expected, turns out to make an already quite slow serializer (since it’s using raptor_sequence) into one running incredibly slow.

So, I’ve just finished updating the internal raptor_avltree to gain a cursor. This allows storing ordered items in an AVL Tree, which has O(log(N)) for add, delete and lookup, compared to raptor_sequence‘s O(N). Yay!

Next step is to try putting it into the raptor_abbrev subsystem.