So the function fix_dom_clone described in my last post isn’t exactly cheap. In fact, it’s far and away where my lens library is spending most of its time.
Function | Calls | Percentage of time |
---|---|---|
fix_dom_clone | 4920 | 47.22% |
deep_clone | 6022 | 5.57% |
get | 3513 | 5.51% |
dom_obj | 20842 | 5.34% |
I’ve implemented a few optimizations to reduce the number of times it needs to be called, but its recursion is brutal. The DOM treeWalker might be more efficient than what I have now. I don’t think it can matter much, because according to this website, IE and Safari don’t support it.