jQuery val() vs value performance (v2)

Revision 2 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<ul id="elem">
    <li>
        <input type="text" value="1">
        <input type="text" value="2">
        <input type="text" value="3">
        <input type="text" value="4">
        <input type="text" value="5">
        <input type="text" value="6">
        <input type="text" value="7">
        <input type="text" value="8">
        <input type="text" value="9">
        <input type="text" value="10">
        <input type="text" value="11">
        <input type="text" value="12">
        <input type="text" value="13">
        <input type="text" value="14">
        <input type="text" value="15">
        <input type="text" value="16">
        <input type="text" value="17">
        <input type="text" value="18">
        <input type="text" value="19">
        <input type="text" value="20">
        <input type="text" value="21">
        <input type="text" value="22">
        <input type="text" value="23">
        <input type="text" value="24">
        <input type="text" value="25">
        <input type="text" value="26">
        <input type="text" value="27">
        <input type="text" value="28">
        <input type="text" value="29">
        <input type="text" value="30">
        <input type="text" value="31">
        <input type="text" value="32">
        <input type="text" value="33">
        <input type="text" value="34">
        <input type="text" value="35">
        <input type="text" value="36">
        <input type="text" value="37">
        <input type="text" value="38">
        <input type="text" value="39">
        <input type="text" value="40">
        <input type="text" value="41">
        <input type="text" value="42">
        <input type="text" value="43">
        <input type="text" value="44">
        <input type="text" value="45">
        <input type="text" value="46">
        <input type="text" value="47">
        <input type="text" value="48">
        <input type="text" value="49">
        <input type="text" value="50">
    </li>
</ul>

Setup

var elem = $('#elem input');
    var list1 = [];
    var list2 = [];
    
    function valtolist(idx, elem) {
      var value = elem.val();
      list1.push(value);
    }
    
    function valuetolist(idx, elem) {
      var value = elem.value;
      list2.push(value);
    }

Test runner

Ready to run.

Testing in
TestOps/sec
jQuery val()
elem.each(valtolist);
ready
value
elem.each(valuetolist);
ready

Revisions

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