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 |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js'></script>
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;
var uniq1 = _.uniq(list100);
var uniq2 = _.uniqBy(list100, identity);
var uniq3 = Array.from(new Set(list100));
var uniq1 = _.uniq(list1000);
var uniq2 = _.uniqBy(list1000, identity);
var uniq3 = Array.from(new Set(list1000));
var uniq1 = _.uniq(list10000);
var uniq2 = _.uniqBy(list10000, identity);
var uniq3 = Array.from(new Set(list10000));