HTML Preparation code:
x
 
1
<html>
2
    <head>
3
        <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.min.js"></script>
4
    </head>
5
    <body>
6
    </body>
7
</html>
8
Script Preparation code:
 
var products = [
  {
    name: "Foo",
    id: 1,
    color: "red",
    price: {
      beforeSale: 14.11,
      afterSale: 11.11,
      currency: "USD"
    }
  },
  {
    name: "Foo2",
    id: 2,
    color: "orange",
    price: {
      beforeSale: 24.22,
      afterSale: 22.22,
      currency: "USD"
    }
  },
  {
    name: "Foo3",
    id: 3,
    color: "yellow",
    price: {
      beforeSale: 44.33,
      afterSale: 33.33,
      currency: "USD"
    }
  },
  {
    name: "Foo4",
    id: 4,
    color: "brown",
    price: {
      beforeSale: 54.44,
      afterSale: 44.44,
      currency: "USD"
    }
  },
  {
    name: "Bar",
    id: 5,
    color: "green",
    price: {
      beforeSale: 64.55,
      afterSale: 55.55,
      currency: "USD"
    }
  },
  {
    name: "Bar2",
    id: 6,
    color: "purple",
    price: {
      beforeSale: 74.66,
      afterSale: 66.66,
      currency: "USD"
    }
  },
  {
    name: "Bar3",
    id: 7,
    color: "pink",
    price: {
      beforeSale: 84.77,
      afterSale: 77.77,
      currency: "USD"
    }
  },
  {
    name: "Bar4",
    id: 8,
    color: "grey",
    price: {
      beforeSale: 94.88,
      afterSale: 88.88,
      currency: "USD"
    }
  },
  {
    name: "Baz",
    id: 9,
    color: "blue",
    price: {
      beforeSale: 104.99,
      afterSale: 99.99,
      currency: "USD"
    }
  }
];
// Lodash's find()
function testFind(name) {
  return _.find(products, function (product) {
    return product.name === name;
  });
}
// Early-escape for loop
function testFor(name) {
  var i;
  
  for (i = 0; i < products.length; i++) {
    if (products[i].name === name) {
      return products[i];
    }
  }
}
// Early escape while loop
function testWhile(name) {
  var i = 0;
  
  while(i < products.length) {
    if (products[i].name === name) {
      return products[i];
    }
    
    i++;
  }
}
Tests:
  • Lodash find(): Result at first index

     
    testFind("Foo");
  • Lodash find(): Result at middle index

     
    testFind("Bar");
  • Lodash find(): Result at last index

     
    testFind("Baz");
  • Lodash find(): No result

     
    testFind("Quux");
  • For loop: Result at first index

     
    testFor("Foo");
  • For loop: Result at middle index

     
    testFor("Bar");
  • For loop: Result at last index

     
    testFor("Baz");
  • For loop: No result

     
    testFor("Quux");
  • While loop: Result at first index

     
    testWhile("Foo");
  • While loop: Result at middle index

     
    testWhile("Bar");
  • While loop: Result at last index

     
    testWhile("Baz");
  • While loop: No Result

     
    testWhile("Quux");
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Lodash find(): Result at first index
    Lodash find(): Result at middle index
    Lodash find(): Result at last index
    Lodash find(): No result
    For loop: Result at first index
    For loop: Result at middle index
    For loop: Result at last index
    For loop: No result
    While loop: Result at first index
    While loop: Result at middle index
    While loop: Result at last index
    While loop: No Result

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Chrome 116 on Windows
View result in a separate tab
Test name Executions per second
Lodash find(): Result at first index 3161747.0 Ops/sec
Lodash find(): Result at middle index 2901641.0 Ops/sec
Lodash find(): Result at last index 2689274.5 Ops/sec
Lodash find(): No result 2723375.5 Ops/sec
For loop: Result at first index 3546087.5 Ops/sec
For loop: Result at middle index 1165586.2 Ops/sec
For loop: Result at last index 705413.8 Ops/sec
For loop: No result 714212.1 Ops/sec
While loop: Result at first index 3567249.0 Ops/sec
While loop: Result at middle index 1181132.6 Ops/sec
While loop: Result at last index 707487.6 Ops/sec
While loop: No Result 709090.9 Ops/sec