Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
[js] localeCompare sort vs normal sort vs lodash orderBy vs sort comparator w/ lorem (n=57200) Copy Copy Copy
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Browser:
Chrome 121
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
localeCompare
125122.0 Ops/sec
lodash order
20456.6 Ops/sec
sort comparator
33054.8 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
function shuffle(array) { var i = array.length, j = 0, temp; while (i--) { j = Math.floor(Math.random() * (i + 1)); temp = array[i]; array[i] = array[j]; array[j] = temp; } return array; } var words = [ "wh@}U;8(9%hID#E;y*FQ*\Gf=DQ]C", "w]=R4nO[Pqc,;c8GFgAu[m^$l.V", "kbxmGZUcij0_DJ,;PZ~=#vPJA*hHG", ":D2dqJ-h/F;vh?!=}4]pKk<Qz0L=z", "oB>.3IL2TFhMqUOp!MzVSoG0!4uw", "@Je$BH@ox,Wc])~.Ed]AS}Ox&AgiY", "rH@;R:}.ZaB0aKB\QR7\h\^8y$", "LtO+CzRVp\Mp;vm87f3)P+|MxNKh", "(a0?*16Wa1bt9{9g>M8~^Y)ZkLO19", "2n.[?5JghKW$}jh=;b6DbWiSe6l4;", "4NpZ-4uIA^!VmN+\t0wh95DG=VC0", "4#DiMlrOjL#cxGU!rWr<VM8iRYR70D", "5|O6Vq+%aE]rsVUYEuGceyoaD$v&#", "#\ISPh1ra&&>9/NKlr3.Ez<P^I4pY", "M!Ery#SkPM5^A/J|VcI6WL\>&i=K", "nBx5kFrOB7^Lo)1Bd5>4H5T2t(", "A{q+L|LKxb-mQte-C\gjne4dC?#O_", "I):fgN?r?p&g6j7-j,,WOX?G+0#w~b", "c3w3%/q#drU!^;EP2AP.0@;8o.AV}", "EMP)(T;DUUdt|(7|50KWafo};-IW", "q]\\N}Mzq{GbZQH!6t^J%-ZX1a2*dd", "a|u.t3nq@rk\|M+I,Z5i_7\%VH-kU", "Yzn&}SET6ocLsQj5P/L_M!WPbc~)-", "p&)]$l2S&/Nlfv(D|\dRUT(Zu/9#:", "VOIb^R;vw;rMYG84n7.&kcj+oBUJ.]", "I^:@O0un-IPTb*xcd##o\cYusqi^#;", "FT<woNY|hK|#{Xafm5v\=OX9yv|%aC", "-5l)]&z~bR2zjSGPBJaJ9xR=TC&5mE", "=.Eq1W>{0~Mbm/oJlZOr@bPS2T&KO", "q>BN^_SvJd>+b:]4s6i3)^GsaD{<s" ]; var words1 = []; var n = []; for (i = 0; i < 4; i++) words.push(...words); for (i = 0; i < words.length; i++) n.push(i); var ranNums = shuffle(n); for (i = 0; i < words.length; i++) words1.push(words[ranNums[i]]); console.log('ORIGINAL', words1);
Tests:
localeCompare
words1.sort((a,b) => a.localeCompare(b));
lodash order
_.orderBy(words1,model => model,'asc');
sort comparator
words1.sort((a,b) => { if (a.toLowerCase() < b.toLowerCase()) { return -1; } if (a.toLowerCase() > b.toLowerCase()) { return 1; } return 0; });