So I ran my de-serialization through the profiler again, and here's what I'm seeing:
Time spent in fromXml: 92000ms
Time spent in Unsafe.objectFieldOffset: 31000ms
So nearly a 1/3 of the time is spent in retrieving the field offset. If I apply the attached patch, the time for offset retrieval drops to ~1000ms (including cache hits). I am guessing the differences we are seeing are due to either 64bit mode that I'm running under, or something in the underlying OS.
Also, is the set of test objects you mentioned above included in the xstream source? If so, where can I find them? I'll try running them through the profiler on my machine as well, to see if I can replicate it on the test suite as well.