CPU usage was one angle I was considering, and the other was the fact that my attempt at a compact UDO totally failed. I knew I wanted to use multiple instances of it, have more control over the size of the original table, and over the amount of jitters in the table, so without a working UDO, wriitng an opcode makes sense.
I think I mentioned this already on the mailing list, but I have an opcode version that allows you to select how many jitter points there are across the table, regardless of the table size. It then spreads out the jitters as evenly as possible along the table, and interpolates the amount of jitter on the points between. This is handy, because different amounts of wobble points create different timbres, and if you want to use a table that's much bigger than around 256 or 512, then wobbling every point in the table starts to sound like noise.
I still haven't run any performance tests on the opcode to see if there is a notable improvement, so I'll do that at some point. I'll make sure I test your UDO version aswell.