I’m doing some performance testing and analysis with a large amount of nodes (~1000) and the biggest hit to performance I can see is Reflows or Layout thrashing. It seems to be due to the use of getClientRects().
Here is what Chrome reports:
It doesn’t have much information about why Layout is taking so long or what is causing it.
Here is what Firefox reports:
There’s more information here and it seems to suggest a reflow is triggered by the use of getClientRects.
This might need some sort of caching to not cause a reflow on every key press. Will look into this more but wanted to start a thread.