localeCompare vs logical compare (v2)

Revision 2 of this benchmark created on


Setup

function compareStringsLocale(a, b) {
  if (a != null)
    return a.localeCompare(b);
  else if (b != null)
    return -1;
  else
    return 0;
};
    
function compareStrings(a, b) {
  if (a < b)
    return -1;
  else if (a > b)
    return 1;
  else
    return 0;
};

var options = {
  sensitivity: 'base'
};
var collator = new Intl.Collator(undefined, options);
function compareStringsCollator(a, b) {
  return collator.compare(a, b);
};
    
    var a = '5064a2e300cf3f6e421f8ccb';
    var b = '5064a2e300cf3f6e421f8ccb';

Test runner

Ready to run.

Testing in
TestOps/sec
localeCompare
var c = compareStringsLocale(a, b);
var d = compareStringsLocale(b, a);
 
ready
logical compare
var c = compareStrings(a, b);
var d = compareStrings(b, a);
 
ready
Intl.Collator.compare
var c = compareStringsCollator(a, b);
var d = compareStringsCollator(b, a);
 
ready

Revisions

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