convertModelFromDom stage spends a lot of time in OO#getHash. If instead of hashing I assign each object an autoincrement integer key, the median CPU time for Barack Obama drops by 50-100ms, and the min time drops by 100-200ms.
Is there a hard requirement that objects with identical key/value pairs hash to the same key, or is that just a strategy to save memory? If the latter, then it is probably worth abandoning it in favor of using array indices.