Giovanni Campagna wrote:
     - Selectors is designed to be fast to match, while XPath had no
    such design criterion; as a result it's very easy to write
    pathologically slow XPath queries, even by accident.  For
    non-pathological cases, Selectors are still faster, whether because
    of spec design choices or because browsers already heavily optimize
    selector matching.

That is an issue for browser vendors, not spec writers.

And that attitude is exactly why there are XPath queries that just can't be fast.

And I think that if they optimized document.querySelectorAll("blockquote > p") they can optimize document.evaluate("\\blockquote\p",...)

Sure, but as soon as you forget that leading \\ you lose, no?

The problem are toolkits, not XPath. The more javascript you use, the worse the performance, since JS is interpreted not compiled. If toolkits didn't rewrite complex CSS selectors in XPath syntax, performance would be similar.

I can guarantee you that CSS selector performance in Gecko is faster than XPath and is likely to stay that way indefinitely.

You don't need selectors API for matching ".my_class" or "object" or even "#my-id". Use getElement(s)ByClassName/TagName/Id

No, but as soon as you want "#mymaintext .my_class" you do. And thi is hardly unknown CSS3 stuff.

I meant that any new API is a problem beacuse authors don't learn quickly. (and DOM3XPath is not new, selectors API instead is)

Authors are already using API like this through the toolkits; they'll immediately see speedups in their code and won't have much of a jump to use the API directly.

Same old questions = same old answers?

Yes. They seem to have been considered sufficient the previous times around.

I don't think these are enough

You're always welcome to raise a formal objection, of course.

-Boris

Reply via email to