Find vs. Filter (v9)

Revision 9 of this benchmark created on


Preparation HTML

<table id="myTable">
  <thead>
    <tr>
      <th>
        Whatever
      </th>
      <th>
        Whatever
      </th>
      <th>
        Whatever
      </th>
      <th>
        Whatever
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
  </tbody>
</table>
<style>.selected { background: #eee; }</style>
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>

Setup

var table = $('#myTable');

Test runner

Ready to run.

Testing in
TestOps/sec
Chain Find
table
  .find('tbody > tr')
    .find('td.selected')
      .end()
    .find('td:not(.selected)');
ready
Find then Filter
table
  .find('tbody > tr > td')
    .filter('.selected')
      .end()
    .filter(':not(.selected)');
ready
Find Verbose
table.find('tbody > tr > td.selected');
table.find('tbody > tr > td:not(.selected)');
ready

Revisions

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