Please, don't guess at performance.

My biggest learning about performance is that developers don't know how to measure it. The training is absent, the effort is too great, and then objectivity just isn't there. So, they guess, which typically just means making things up to qualify an unfounded assumption. Guessing at performance is wrong more than 80% of the time and when it is wrong there a decent chance it is wrong by one or more orders of magnitude. This is one of the key things that separates developers from product stake holders.

The DOM is an in-memory object accessed via a standard API. Let's not over think this. The interesting thing about DOM access is that Firefox has held stable for at least the last 6 years showing no significant performance loss or increase. Chrome on the other hand less than 40% as fast as it used to be, but its execution of access via string parsing mechanisms, like query selectors, is several times faster than it used to be. To run your own tests see this micro-benchmark test:

https://jsbench.github.io/#b39045cacae8d8c4a3ec044e538533dc

> Please, don't guess at performance.

I don't.

> My biggest learning about performance is that developers don't know how to measure it.

So have you measured it and compared it to anything else? Judging by the fact that you think that "JS is fast" has something to do with rendering and layout, my guess is that you haven't.

> The DOM is an in-memory object accessed via a standard API.

This has nothing to do with rendering, layout, and doesn't make it fast (compared to other ways of doing UIs) in the general case.

> string parsing mechanisms, like query selectors, is several times faster than it used to be.

Again. This has literally nothing to do with either layout or rendering.

> To run your own tests see this micro-benchmark test:

I said it: "A few billion dollars of development and hundreds of thousands of man-hours have optimized it beyond any reasonable expectations, but it's still unbelievably slow because of many architectural decisions rooted back in the 90s."

> To run your own tests see this micro-benchmark test: https://jsbench.github.io/#b39045cacae8d8c4a3ec044e538533dc

Oh wow, you can select elements quickly. What does this have to do with the actual performance of things that matter? Or with the rest of your claim about rendering and layout?

It's funny that you claim something about people guessing, and then use and talk about things that are completely irrelevant to your claims.