From: David Mark on
On Jan 26, 6:33 pm, "toby.oconn...(a)gmail.com"
<toby.oconn...(a)gmail.com> wrote:
> On Jan 26, 12:03 pm, Andrew Poulos <ap_p...(a)hotmail.com> wrote:
>
> > Running the latest release of jquery against the latest full release of
> > mylib under Windows XP SP3 with all the selectors of slickspeed on.
>
> I ran slickspeed with the Kindle DX, the slowest device I have access
> to. This version of the Kindle DX was released January 19th, 2010 yet
> *does not support QSA*. Because the device is so limited, I had to
> make a custom test page athttp://tobyoconnell.com/dx/2010-01-26/slickspeed/
>
> My results with the Kindle are athttp://tobyoconnell.com/dx/
>
> In short:
>
> jQuery 1.4.0: 3,742 ms.
>
> jQuery fails a number of simple tests (likely in any browser not
> supporting document.querySelectorAll). Note that this page does not
> include the selectors for which My Library fails (Currently, My
> Library does not support all selectors. To my knowledge, no
> documentation exists which lists the supported selectors).

Yes it does. Anything that is listed on the test page is supported.
Anything that is not is not.

JFTR, as it sits right now, I am missing contains, |=, *= and a couple
of nth-child variations. Also, I botched ~ over the weekend. :
( Will fill in these wholes when I have a chance.

>
> "My Library" 2010-01-26: 10,788 ms.
>
> Ignoring jQuery's failing tests and two inefficient tests, My Library
> performs about as quickly as jQuery 1.4.0.

In non-QSA browsers, My Library typically _murders_ jQuery. :)

However, the poor
> performance in handling selectors :nth-child(odd) and :nth-child(even)
> becomes crippling on the slow Kindle DX browser. This can be witnessed
> to a lesser degree in IE6. It appears that these two selectors hang
> on a G1 phone.

The nth-child selectors, which were only recently added to the roster,
are slow as written (in the "slow lane"). Sorry, I only had a few
minutes to spend on each of them. Figure I'll optimize the code soon
enough? ;)
From: David Mark on
On Jan 26, 7:10 pm, "toby.oconn...(a)gmail.com"
<toby.oconn...(a)gmail.com> wrote:
> On Jan 26, 3:51 pm, "S.T." <a...(a)anon.com> wrote:
>
> > On 1/26/2010 3:50 PM, S.T. wrote:
>
> > > On 1/26/2010 3:33 PM, toby.oconn...(a)gmail.com wrote:
> > >> In short:
>
> > >> jQuery 1.4.0: 3,742 ms.
> > >> ... To my knowledge, no
> > >> documentation exists which lists the supported selectors).
>
> > >http://docs.jquery.com/Browser_Compatibility
>
> > Nevermind, I read 'supported selectors' as 'supported browsers'
>
> Regarding the selector documentation, I was referring to "My
> Library." It looks like the jQuery selectors are listed athttp://api.jquery.com/category/selectors/

Officially, the My Library selectors are listed here:-

http://www.cinsoft.net/slickspeed.html
From: toby.oconnell on
On Jan 27, 9:23 am, David Mark <dmark.cins...(a)gmail.com> wrote:
> On Jan 26, 6:33 pm, "toby.oconn...(a)gmail.com"
>
> > Ignoring jQuery's failing tests and two inefficient tests, My Library
> > performs about as quickly as jQuery 1.4.0.
>
> In non-QSA browsers, My Library typically _murders_ jQuery.  :)
>

In case it was not clear, the Kindle DX browser used in my test is non-
QSA. Atypically, My Library did not outperform jQuery in my personal
tests. I expected My Libarary would be about twice as fast. I think
it may be due to the fact that many of the selectors did not return
any matches. Perhaps jQuery is faster at doing nothing ;)

>
> The nth-child selectors, which were only recently added to the roster,
> are slow as written (in the "slow lane").  Sorry, I only had a few
> minutes to spend on each of them.  Figure I'll optimize the code soon
> enough?  ;)

Great.
From: Andrew Poulos on
On 28/01/2010 4:16 AM, David Mark wrote:
> On Jan 26, 3:03 pm, Andrew Poulos <ap_p...(a)hotmail.com> wrote:
>> Running the latest release of jquery against the latest full release of
>> mylib under Windows XP SP3 with all the selectors of slickspeed on.
>>
>> With Internet Explorer 7 the final times were
>> jquery: 364ms
>> mylib : 214ms
>
> Good.

Using the "new" version of myLib, mylib-qsa-min.js, with IE 7.0.5730.13
the times are now
jquery: 395ms
mylib : 678ms

3 times worse for mylib??? The two selectors it was really slow on -
200+ms slower - were "p:nth-child(even)" and "p:nth-child(odd)".

>> With Firefox 3.6 the final times were
>> jquery: 30ms
>> mylib : 58ms

Using the "new" version with FF 3.6 the times are now
jquery: 29ms
mylib : 18ms

> Not good. Were you running with or without the QSA add-on? There is
> a minified version with the add-on tacked on at:-
>
> http://www.cinsoft.net/mylib-qsa-min.js
>
>>
>> With Chrome 4 the final times were
>> jquery: 6ms
>> mylib : 44ms
>
> That definitely sounds like the QSA-less version. Not sure what
> version of Chrome I've been testing, but My Library never loses (and
> it isn't even close, except with the latest jQuery).

Using the "new" version with Chrome 4.0.249.78 the times are now
jquery: 6ms
mylib : 5ms

Andrew Poulos
From: David Mark on
On Jan 27, 4:37 pm, Andrew Poulos <ap_p...(a)hotmail.com> wrote:
> On 28/01/2010 4:16 AM, David Mark wrote:
>
> > On Jan 26, 3:03 pm, Andrew Poulos <ap_p...(a)hotmail.com> wrote:
> >> Running the latest release of jquery against the latest full release of
> >> mylib under Windows XP SP3 with all the selectors of slickspeed on.
>
> >> With Internet Explorer 7 the final times were
> >>   jquery: 364ms
> >>   mylib : 214ms
>
> > Good.
>
> Using the "new" version of myLib, mylib-qsa-min.js, with IE 7.0.5730.13
> the times are now
>    jquery: 395ms
>    mylib : 678ms

I suspect those results will fluctuate. The QSA add-on (tacked on to
the end of the minified version here) has no effect on IE7 (only 8 in
standards mode).

>
> 3 times worse for mylib??? The two selectors it was really slow on -
> 200+ms slower - were "p:nth-child(even)" and "p:nth-child(odd)".

Yes. I added those last weekend per request from someone who wanted
to "stripe" tables. So, as noted in the forum, those two selectors
(as well as nth-child(n)) are relatively slow (in IE < 8). I'll go
back and optimize them when I have a chance.

>
> >> With Firefox 3.6 the final times were
> >>   jquery: 30ms
> >>   mylib : 58ms
>
> Using the "new" version with FF 3.6 the times are now
>    jquery: 29ms
>    mylib : 18ms

I figured as much. But note that even _without_ QSA, it is more than
sufficient in these modern browsers. Try an older browser or phone
and the differences are magnified considerably. ;) Try jQuery (or
whatever) without QSA and it will be quite a rude awakening. I will
likely create two columns for My Library on each test page (with and
without the QSA add-on) and mark which of the old library versions are
without QSA.

>
> > Not good.  Were you running with or without the QSA add-on?  There is
> > a minified version with the add-on tacked on at:-
>
> >http://www.cinsoft.net/mylib-qsa-min.js
>
> >> With Chrome 4 the final times were
> >>   jquery:  6ms
> >>   mylib : 44ms
>
> > That definitely sounds like the QSA-less version.    Not sure what
> > version of Chrome I've been testing, but My Library never loses (and
> > it isn't even close, except with the latest jQuery).
>
> Using the "new" version with Chrome 4.0.249.78 the times are now
>    jquery:  6ms
>    mylib :  5ms
>

That's what I'm talking about! :)