Not so much a review, as just a few (hopefully) useful comments: I was really surprised by the fact that the cursor-based DOM-walking code was faster than getElementById(). I've added this case to some of my own tests, and saw (somewhat) similar results. From what I can tell, it appears that the double-attachment (in the id-based case) is the lion's share of the difference. If we can find a way to get rid of that, they'll be a lot closer.
Jaime's point about measuring layout time (referred to as the "deferred work after JS") is valid. In my own tests, instead of using setTimeout(0), I just force a layout by measuring the offsetTop of the bottom-most widget I create. This won't capture paint, but layout seems to be the real monster most of the time. One comment on the structure of the benchmark: It's a little confusing to see a bunch of measurements on things that create *different* resulting structures. It would be much clearer if these benchmarks were grouped into clusters of tests that produce the same structures. I've also got some similar benchmarks on various mechanisms for creating a Wave list. They're a bit more from the Javascript perspective (only a couple of GWT tests), trying to determine the fastest absolute mechanism for creating a bunch of widget-like structures. But I'll merge them into your own benchmarks once they're checked in. http://gwt-code-reviews.appspot.com/127801 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
