3 ms·
Igor, as I said below, testing elements building is only one test and you can ignore it if disagree. > Instead let's test selector speeds etc. Actually this i
by MadRabbit 17y ago
Igor, as I said below, testing elements building is only one test and you can ignore it if disagree.
> Instead let's test selector speeds etc.
Actually this is what's pointless, both of the frameworks do it by using native features of the modern browsers and results will about the same for any framework.
> i would use jQuery's live() and then binding takes almost no time for any number of elements.
Are you sure about that?
- IgorPartola 17y agoLive binds one event handler to a parent element and then simply watches for any events of that type to bubble up. bind adds 500 handlers to 500 elements. live is faster in theory. Will write a test to show in practice. Yes simple selectors are pointless. How about '.Class .child:visible:not(.test):eq(1)'?
- MadRabbit 17y ago> Live binds one event handler to a parent element and then simply watches for any events It's kinda different story and rather a hack than a standard approach. And it's not always a cace, because it will handle the callbacks slower than a direct bind and therefore not always appropriate. In any case it's not what the test is intended to do. We test standard operations, that's all. Testing live with bind is like comparing apples with oranges. > How about '.Class .child:visible:not(.test):eq(1)'? Do you mean non-standard css-selectors? There is nothing to test, rightjs simply doesn't support them With rightjs you always can do it like that $$('.class').filter('visible');
- IgorPartola 17y agoWhile event delegation doesn't work 100% of the time (e.g. when another piece of code that uses capture instead of bubbling such as google maps API), I wouldn't consider it a hack. Of course event handling will be slower but we can test how much slower :). You can do that with jQuery as well and that's an ineresting performance comparison in itself. E.g. $('.class:visible:not(:eq(1))') vs $('.class').filter(':visible').not(':eq(1)'). I suspect it heavily depends on the size of the DOM tree and the number of elements.
- MadRabbit 17y agoAt the beginning you're kinda was against the "make" test, because there is no such thing in jQuery, and now you practically offer the same thing, to test something that does exist in jQuery but doesn't in RighJS. You should choose already what do you stand for. But anyway, if you want to test it go ahead, you know where the code is. I suppose jQuery handles virtual selectors via JavaScript and therefore there will be no serious difference in performance. I even suspect that a single additional function in the filter method in RightJS will still work faster than several internal selectors in jQuery.