Script Preparation code:
x
 
var a = 'a200bcd32efg9';
var b = 'a200bcd32efg11';
var comparator = { locale: null, collator: null };
var numericComparator = { locale: null, collator: null };
var baseComparator = { locale: null, collator: null };
var localeCompare = (a, b, locale) => {
  if (!comparator.collator || comparator.locale !== locale) {
    comparator.locale = locale;
    comparator.collator = new Intl.Collator(locale);
  }
  return comparator.collator.compare(a, b);
};
var localeCompareNumeric = (a, b, locale) => {
  if (!numericComparator.collator || numericComparator.locale !== locale) {
    numericComparator.locale = locale;
    numericComparator.collator = new Intl.Collator(locale, {
      numeric: true,
    });
  }
  return numericComparator.collator.compare(a, b);
};
var localeCompareBase = (a, b, locale) => {
  if (!baseComparator.collator || baseComparator.locale !== locale) {
    baseComparator.locale = locale;
    baseComparator.collator = new Intl.Collator(locale, {
      sensitivity: 'base',
    });
  }
  return baseComparator.collator.compare(a, b);
};
Tests:
  • localeCompare

     
    localeCompare(a, b, 'en-US');
  • localeCompareNumeric

     
    localeCompareNumeric(a, b, 'en-US');
  • localeCompareBase

     
    localeCompareBase(a, b, 'en-US');
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    localeCompare
    localeCompareNumeric
    localeCompareBase

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 10 months ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Chrome 125 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
localeCompare 3936013.0 Ops/sec
localeCompareNumeric 3047264.0 Ops/sec
localeCompareBase 3971653.8 Ops/sec