Speed comparison of jQuery versions 1.72, 1.11.1, 2.1.1 (v47)

Revision 47 of this benchmark created on


Preparation HTML

<div>
  <ul id="menu">
    <li class="menu-item">
    </li>
    <li class="menu-item">
    </li>
    <li class="menu-item">
    </li>
    <li class="menu-item">
    </li>
    <li class="menu-item">
    </li>
    <li class="menu-item">
    </li>
  </ul>
</div>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
  var $jq172 = $.noConflict(true);
</script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<script>
  var $jq1111 = $.noConflict(true);
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.js">
</script>
<script>
  var $jq211 = $.noConflict(true);
</script>

Setup

function test1($) {
      $('#menu').css({
        'backgroud': 'red'
      });
      $('.menu-item').eq(2).hasClass('foo');
    }
    
    function test2($) {
      $('#menu').css({
        'backgroud': 'red'
      });
      $('.menu-item').eq(2).hasClass('foo');
      $('.menu-item').addClass('foo');
      $('.menu-item').addClass('bar');
    }
    function test3($) {
      $('#menu').css({
        'backgroud': 'red'
      });
      $('.menu-item').eq(2).hasClass('foo');
      $('.menu-item').addClass('foo');
      $('.menu-item').addClass('bar');
      $('.menu-item').removeClass('none');
      $('.menu-item').eq(3).removeClass('bar');
    }

Test runner

Ready to run.

Testing in
TestOps/sec
01 jQuery 1.7.2
test3($jq172);
ready
02 jQuery 1.11.1
test3($jq1111);
ready
03 jQuery 2.1.1
test3($jq211);
ready

Revisions

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