:not() vs filter()

JavaScript performance comparison

Test case created

Preparation code

<ul>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li>A</li>
        <li class="hidden">B</li>
        <li class="hidden">B</li>
</ul><script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 

Preparation code output

  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A
  • A

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
find :not(.hidden)
var bar = $('ul').find(':not(.hidden)');
pending…
children :not(.hidden)
var foo = $('ul').children(':not(.hidden)');
pending…
Filter function
var baz = $('ul').children().filter(function() {
  return $(this).hasClass('hidden');
});
pending…

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers

0 comments

Add a comment