HTML Preparation code:
x
 
1
2
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js'></script>
Script Preparation code:
 
function createlist(size) {
    return Array.from(Array(size)).map(() => Math.floor(Math.random() * size));
}
var list100 = createlist(100);
var list1000 = createlist(1000);
var list10000 = createlist(10000);
var identity = item => item;
Tests:
  • uniq 100

     
    var uniq1 = _.uniq(list100);
  • uniqBy 100

     
    var uniq2 = _.uniqBy(list100, identity);
  • Set 100

     
    var uniq3 = Array.from(new Set(list100));
  • uniq 1000

     
    var uniq1 = _.uniq(list1000);
  • uniqBy 1000

     
    var uniq2 = _.uniqBy(list1000, identity);
  • Set 1000

     
    var uniq3 = Array.from(new Set(list1000));
  • uniq 10000

     
    var uniq1 = _.uniq(list10000);
  • uniqBy 10000

     
    var uniq2 = _.uniqBy(list10000, identity);
  • Set 10000

     
    var uniq3 = Array.from(new Set(list10000));
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    uniq 100
    uniqBy 100
    Set 100
    uniq 1000
    uniqBy 1000
    Set 1000
    uniq 10000
    uniqBy 10000
    Set 10000

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36
Chrome 101 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
uniq 100 241749.3 Ops/sec
uniqBy 100 236622.5 Ops/sec
Set 100 420157.2 Ops/sec
uniq 1000 27393.0 Ops/sec
uniqBy 1000 24571.0 Ops/sec
Set 1000 32117.9 Ops/sec
uniq 10000 2713.6 Ops/sec
uniqBy 10000 1613.7 Ops/sec
Set 10000 3117.2 Ops/sec