Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
localeCompare vs function on array sort
(version: 0)
Test if the
Comparing performance of:
localeCompare vs Sort
Created:
3 years ago
by:
Registered User
Jump to the latest result
Script Preparation code:
var arr = []; var count = 10000; var names = [ 'Liam', 'Noah', 'Oliver', 'Elijah', 'James', 'William', 'Benjamin', 'Lucas', 'Henry', 'Theodore', 'Jack', 'Levi', 'Alexander', 'Jackson', 'Mateo', 'Daniel', 'Michael', 'Mason', 'Sebastian', 'Ethan', 'Logan', 'Owen', 'Samuel', 'Jacob', 'Asher', 'Aiden', 'John', 'Joseph', 'Wyatt', 'David', 'Leo', 'Luke', 'Julian', 'Hudson', 'Grayson', 'Matthew', 'Ezra', 'Gabriel', 'Carter', 'Isaac', 'Jayden', 'Luca', 'Anthony', 'Dylan', 'Lincoln', 'Thomas', 'Maverick', 'Elias', 'Josiah', 'Charles', 'Caleb', 'Christopher', 'Ezekiel', 'Miles', 'Jaxon', 'Isaiah', 'Andrew', 'Joshua', 'Nathan', 'Nolan', 'Adrian', 'Cameron', 'Santiago', 'Eli', 'Aaron', 'Ryan', 'Angel', 'Cooper', 'Waylon', 'Easton', 'Kai', 'Christian', 'Landon', 'Colton', 'Roman', 'Axel', 'Brooks', 'Jonathan', 'Robert', 'Jameson', 'Ian', 'Everett', 'Greyson', 'Wesley', 'Jeremiah', 'Hunter', 'Leonardo', 'Jordan', 'Jose', 'Bennett', 'Silas', 'Nicholas', 'Parker', 'Beau', 'Weston', 'Austin', 'Connor', 'Carson', 'Dominic', 'Xavier', 'Jaxson', 'Jace', 'Emmett', 'Adam', 'Declan', 'Rowan', 'Micah', 'Kayden', 'Gael', 'River', 'Ryder', 'Kingston', 'Damian', 'Sawyer', 'Luka', 'Evan', 'Vincent', 'Legend', 'Myles', 'Harrison', 'August', 'Bryson', 'Amir', 'Giovanni', 'Chase', 'Diego', 'Milo', 'Jasper', 'Walker', 'Jason', 'Brayden', 'Cole', 'Nathaniel', 'George', 'Lorenzo', 'Zion', 'Luis', 'Archer', 'Enzo', 'Jonah', 'Thiago', 'Theo', 'Ayden', 'Zachary', 'Calvin', 'Braxton', 'Ashton', 'Rhett', 'Atlas', 'Jude', 'Bentley', 'Carlos', 'Ryker', 'Adriel', 'Arthur', 'Ace', 'Tyler', 'Jayce', 'Max', 'Elliot', 'Graham', 'Kaiden', 'Maxwell', 'Juan', 'Dean', 'Matteo', 'Malachi', 'Ivan', 'Elliott', 'Jesus', 'Emiliano', 'Messiah', 'Gavin', 'Maddox', 'Camden', 'Hayden', 'Leon', 'Antonio', 'Justin', 'Tucker', 'Brandon', 'Kevin', 'Judah', 'Finn', 'King', 'Brody', 'Xander', 'Nicolas', 'Charlie', 'Arlo', 'Emmanuel', 'Barrett', 'Felix', 'Alex', 'Miguel', 'Abel', 'Alan', 'Beckett', 'Amari', 'Karter', 'Timothy', 'Abraham', 'Jesse', 'Zayden', 'Blake', 'Alejandro', 'Dawson', 'Tristan', 'Victor', 'Avery', 'Joel', 'Grant', 'Eric', 'Patrick', 'Peter', 'Richard', 'Edward', 'Andres', 'Emilio', 'Colt', 'Knox', 'Beckham', 'Adonis', 'Kyrie', 'Matias', 'Oscar', 'Lukas', 'Marcus', 'Hayes', 'Caden', 'Remington', 'Griffin', 'Nash', 'Israel', 'Steven', 'Holden', 'Rafael', 'Zane', 'Jeremy', 'Kash', 'Preston', 'Kyler', 'Jax', 'Jett', 'Kaleb', 'Riley', 'Simon', 'Phoenix', 'Javier', 'Bryce', 'Louis', 'Mark', 'Cash', 'Lennox', 'Paxton', 'Malakai', 'Paul', 'Kenneth', 'Nico', 'Kaden', 'Lane', 'Kairo', 'Maximus', 'Omar', 'Finley', 'Atticus', 'Crew', 'Brantley', 'Colin', 'Dallas', 'Walter', 'Brady', 'Callum', 'Ronan', 'Hendrix', 'Jorge', 'Tobias', 'Clayton', 'Emerson', 'Damien', 'Zayn', 'Malcolm', 'Kayson', 'Bodhi', 'Bryan', 'Aidan', 'Cohen', 'Brian', 'Cayden', 'Andre', 'Niko', 'Maximiliano', 'Zander', 'Khalil', 'Rory', 'Francisco', 'Cruz', 'Kobe', 'Reid', 'Daxton', 'Derek', 'Martin', 'Jensen', 'Karson', 'Tate', 'Muhammad', 'Jaden', 'Joaquin', 'Josue', 'Gideon', 'Dante', 'Cody', 'Bradley', 'Orion', 'Spencer', 'Angelo', 'Erick', 'Jaylen', 'Julius', 'Manuel', 'Ellis', 'Colson', 'Cairo', 'Gunner', 'Wade', 'Chance', 'Odin', 'Anderson', 'Kane', 'Raymond', 'Cristian', 'Aziel', 'Prince', 'Ezequiel', 'Jake', 'Otto', 'Eduardo', 'Rylan', 'Ali', 'Cade', 'Stephen', 'Ari', 'Kameron', 'Dakota', 'Warren', 'Ricardo', 'Killian', 'Mario', 'Romeo', 'Cyrus', 'Ismael', 'Russell', 'Tyson', 'Edwin', 'Desmond', 'Nasir', 'Remy', 'Tanner', 'Fernando', 'Hector', 'Titus', 'Lawson', 'Sean', 'Kyle', 'Elian', 'Corbin', 'Bowen', 'Wilder', 'Armani', 'Royal', 'Stetson', 'Briggs', 'Sullivan', 'Leonel', 'Callan', 'Finnegan', 'Jay', 'Zayne', 'Marshall', 'Kade', 'Travis', 'Sterling', 'Raiden', 'Sergio', 'Tatum', 'Cesar', 'Zyaire', 'Milan', 'Devin', 'Gianni', 'Kamari', 'Royce', 'Malik', 'Jared', 'Franklin', 'Clark', 'Noel', 'Marco', 'Archie', 'Apollo', 'Pablo', 'Garrett', 'Oakley', 'Memphis', 'Quinn', 'Onyx', 'Alijah', 'Baylor', 'Edgar', 'Nehemiah', 'Winston', 'Major', 'Rhys', 'Forrest', 'Jaiden', 'Reed', 'Santino', 'Troy', 'Caiden', 'Harvey', 'Collin', 'Solomon', 'Donovan', 'Damon', 'Jeffrey', 'Kason', 'Sage', 'Grady', 'Kendrick', 'Leland', 'Luciano', 'Pedro', 'Hank', 'Hugo', 'Esteban', 'Johnny', 'Kashton', 'Ronin', 'Ford', 'Mathias', 'Porter', 'Erik', 'Johnathan', 'Frank', 'Tripp', 'Casey', 'Fabian', 'Leonidas', 'Baker', 'Matthias', 'Philip', 'Jayceon', 'Kian', 'Saint', 'Ibrahim', 'Jaxton', 'Augustus', 'Callen', 'Trevor', 'Ruben', 'Adan', 'Conor', 'Dax', 'Braylen', 'Kaison', 'Francis', 'Kyson', 'Andy', 'Lucca', 'Mack', 'Peyton', 'Alexis', 'Deacon', 'Kasen', 'Kamden', 'Frederick', 'Princeton', 'Braylon', 'Wells', 'Nikolai', 'Iker', 'Bo', 'Dominick', 'Moshe', 'Cassius', 'Gregory', 'Lewis', 'Kieran', 'Isaias', 'Seth', 'Marcos', 'Omari', 'Shane', 'Keegan', 'Jase', 'Asa', 'Sonny', 'Uriel', 'Pierce', 'Jasiah', 'Eden', 'Rocco', 'Banks', 'Cannon', 'Denver', 'Zaiden', 'Roberto', 'Shawn', 'Drew', 'Emanuel', 'Kolton', 'Ayaan', 'Ares', 'Conner', 'Jalen', 'Alonzo', 'Enrique', 'Dalton', 'Moses', 'Koda', 'Bodie', 'Jamison', 'Phillip', 'Zaire', 'Jonas', 'Kylo', 'Moises', 'Shepherd', 'Allen', 'Kenzo', 'Mohamed', 'Keanu', 'Dexter', 'Conrad', 'Bruce', 'Sylas', 'Soren', 'Raphael', 'Rowen', 'Gunnar', 'Sutton', 'Quentin', 'Jaziel', 'Emmitt', 'Makai', 'Koa', 'Maximilian', 'Brixton', 'Dariel', 'Zachariah', 'Roy', 'Armando', 'Corey', 'Saul', 'Izaiah', 'Danny', 'Davis', 'Ridge', 'Yusuf', 'Ariel', 'Valentino', 'Jayson', 'Ronald', 'Albert', 'Gerardo', 'Ryland', 'Dorian', 'Drake', 'Gage', 'Rodrigo', 'Hezekiah', 'Kylan', 'Boone', 'Ledger', 'Santana', 'Jamari', 'Jamir', 'Lawrence', 'Reece', 'Kaysen', 'Shiloh', 'Arjun', 'Marcelo', 'Abram', 'Benson', 'Huxley', 'Nikolas', 'Zain', 'Kohen', 'Samson', 'Miller', 'Donald', 'Finnley', 'Kannon', 'Lucian', 'Watson', 'Keith', 'Westin', 'Tadeo', 'Sincere', 'Boston', 'Axton', 'Amos', 'Chandler', 'Leandro', 'Raul', 'Scott', 'Reign', 'Alessandro', 'Camilo', 'Derrick', 'Morgan', 'Julio', 'Clay', 'Edison', 'Jaime', 'Augustine', 'Julien', 'Zeke', 'Marvin', 'Bellamy', 'Landen', 'Dustin', 'Jamie', 'Krew', 'Kyree', 'Colter', 'Johan', 'Houston', 'Layton', 'Quincy', 'Case', 'Atreus', 'Cayson', 'Aarav', 'Darius', 'Harlan', 'Justice', 'Abdiel', 'Layne', 'Raylan', 'Arturo', 'Taylor', 'Anakin', 'Ander', 'Hamza', 'Otis', 'Azariah', 'Leonard', 'Colby', 'Duke', 'Flynn', 'Trey', 'Gustavo', 'Fletcher', 'Issac', 'Sam', 'Trenton', 'Callahan', 'Chris', 'Mohammad', 'Rayan', 'Lionel', 'Bruno', 'Jaxxon', 'Zaid', 'Brycen', 'Roland', 'Dillon', 'Lennon', 'Ambrose', 'Rio', 'Mac', 'Ahmed', 'Samir', 'Yosef', 'Tru', 'Creed', 'Tony', 'Alden', 'Aden', 'Alec', 'Carmelo', 'Dario', 'Marcel', 'Roger', 'Ty', 'Ahmad', 'Emir', 'Landyn', 'Skyler', 'Mohammed', 'Dennis', 'Kareem', 'Nixon', 'Rex', 'Uriah', 'Lee', 'Louie', 'Rayden', 'Reese', 'Alberto', 'Cason', 'Quinton', 'Kingsley', 'Chaim', 'Alfredo', 'Mauricio', 'Caspian', 'Legacy', 'Ocean', 'Ozzy', 'Briar', 'Wilson', 'Forest', 'Grey', 'Joziah', 'Salem', 'Neil', 'Remi', 'Bridger', 'Harry', 'Jefferson', 'Lachlan', 'Nelson', 'Casen', 'Salvador', 'Magnus', 'Tommy', 'Marcellus', 'Maximo', 'Jerry', 'Clyde', 'Aron', 'Keaton', 'Eliam', 'Lian', 'Trace', 'Douglas', 'Junior', 'Titan', 'Cullen', 'Cillian', 'Musa', 'Mylo', 'Hugh', 'Tomas', 'Vincenzo', 'Westley', 'Langston', 'Byron', 'Kiaan', 'Loyal', 'Orlando', 'Kyro', 'Amias', 'Amiri', 'Jimmy', 'Vicente', 'Khari', 'Brendan', 'Rey', 'Ben', 'Emery', 'Zyair', 'Bjorn', 'Evander', 'Ramon', 'Alvin', 'Ricky', 'Jagger', 'Brock', 'Dakari', 'Eddie', 'Blaze', 'Gatlin', 'Alonso', 'Curtis', 'Kylian', 'Nathanael', 'Devon', 'Wayne', 'Zakai', 'Mathew', 'Rome', 'Riggs', 'Aryan', 'Avi', 'Hassan', 'Lochlan', 'Stanley', 'Dash', 'Kaiser', 'Benicio', 'Bryant', 'Talon', 'Rohan', 'Wesson', 'Joe', 'Noe', 'Melvin', 'Vihaan', 'Zayd', 'Darren', 'Enoch', 'Mitchell', 'Jedidiah', 'Brodie', 'Castiel', 'Ira', 'Lance', 'Guillermo', 'Thatcher', 'Ermias', 'Misael', 'Jakari', 'Emory', 'Mccoy', 'Rudy', 'Thaddeus', 'Valentin', 'Yehuda', 'Bode', 'Madden', 'Kase', 'Bear', 'Boden', 'Jiraiya', 'Maurice', 'Alvaro', 'Ameer', 'Demetrius', 'Eliseo', 'Kabir', 'Kellan', 'Allan', 'Azrael', 'Calum', 'Niklaus', 'Ray', 'Damari', 'Elio', 'Jon', 'Leighton', 'Axl', 'Dane', 'Eithan', 'Eugene', 'Kenji', 'Jakob', 'Colten', 'Eliel', 'Nova', 'Santos', 'Zahir', 'Idris', 'Ishaan', 'Kole', 'Korbin', 'Seven', 'Alaric', 'Kellen', 'Bronson', 'Franco', 'Wes', 'Larry', 'Mekhi', 'Jamal', 'Dilan', 'Elisha', 'Brennan', 'Kace', 'Van', 'Felipe', 'Fisher', 'Cal', 'Dior', 'Judson', 'Alfonso', 'Deandre', 'Rocky', 'Henrik', 'Reuben', 'Anders', 'Arian', 'Damir', 'Jacoby', 'Khalid', 'Kye', 'Mustafa', 'Jadiel', 'Stefan', 'Yousef', 'Aydin', 'Jericho', 'Robin', 'Wallace', 'Alistair', 'Davion', 'Alfred', 'Ernesto', 'Kyng', 'Everest', 'Gary', 'Leroy', 'Yahir', 'Braden', 'Kelvin', 'Kristian', 'Adler', 'Avyaan', 'Brayan', 'Jones', 'Truett', 'Aries', 'Joey', 'Randy', 'Jaxx', 'Jesiah', 'Jovanni', 'Azriel', 'Brecken', 'Harley', 'Zechariah', 'Gordon', 'Jakai', 'Carl', 'Graysen', 'Kylen', 'Ayan', 'Branson', 'Crosby', 'Dominik', 'Jabari', 'Jaxtyn', 'Kristopher', 'Ulises', 'Zyon', 'Fox', 'Howard', 'Salvatore', 'Turner', 'Vance', 'Harlem', 'Jair', 'Jakobe', 'Jeremias', 'Osiris', 'Azael', 'Bowie', 'Canaan', 'Elon', 'Granger', 'Karsyn', 'Zavier', 'Cain', 'Dangelo', 'Heath', 'Yisroel', 'Gian', 'Shepard', 'Harold', 'Kamdyn', 'Rene', 'Rodney', 'Yaakov', 'Adrien', 'Kartier', 'Cassian', 'Coleson', 'Ahmir', 'Darian', 'Genesis', 'Kalel', 'Agustin', 'Wylder', 'Yadiel', 'Ephraim', 'Kody', 'Neo', 'Ignacio', 'Osman', 'Aldo', 'Abdullah', 'Cory', 'Blaine', 'Dimitri', 'Khai', 'Landry', 'Palmer', 'Benedict', 'Leif', 'Koen', 'Maxton', 'Mordechai', 'Zev', 'Atharv', 'Bishop', 'Blaise', 'Davian' ]; var arrayIndex = 0; for(var i = 0; i<count; i++) { arr.push({ id: i, name: names[arrayIndex++] + ' ' + i }); if (arrayIndex > names.length) { arrayIndex = 0; } }
Tests:
localeCompare
arr.sort((a, b) => a.name.localeCompare(b.name))
Sort
arr.sort((a, b) => a.name > b.name ? 1 : -1)
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
localeCompare
Sort
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
A JavaScript benchmarking problem! After analyzing the code and the test cases, I'll attempt to provide an answer. **The Problem** We have two test cases: 1. `arr.sort((a, b) => a.name.localeCompare(b.name))`: This test case checks if the sorting function uses locale comparison. 2. `arr.sort((a, b) => a.name > b.name ? 1 : -1)`: This test case checks if the sorting function uses a custom comparator that doesn't consider locale. **The Code** We have an array of names (`names`) and an initial array with some duplicates (`arr`). We're trying to sort `arr` using two different methods. ```javascript var arr = [...]; // initial array with duplicates var names = [...]; // array of names for (var i = 0; i < count; i++) { arr.push({ tid: i, name: names[arrayIndex++] + ' ' + i }); if (arrayIndex > names.length) { arrayIndex = 0; } } ``` **The Goal** We need to write a function that takes the `arr` array as an input and returns the sorted array using both sorting methods. Here's the answer: ```javascript function sortArray(arr) { const sortedArrLocaleCompare = arr.sort((a, b) => a.name.localeCompare(b.name)); const sortedArrCustomComparator = arr.sort((a, b) => (a.name > b.name ? 1 : -1)); return [sortedArrLocaleCompare, sortedArrCustomComparator]; } // Test cases console.log(sortArray([...])); ``` **Explanation** We define a function `sortArray` that takes the input array `arr`. We then sort `arr` using both methods and return an array with the results. In the first test case, we use the locale comparison method (`a.name.localeCompare(b.name)`), which should sort the names in a way that respects the user's locale settings. In the second test case, we use a custom comparator that doesn't consider locale (`(a.name > b.name ? 1 : -1)`). This comparator should return `true` if the first name comes after the second name alphabetically (ignoring locale). By returning both sorted arrays, we provide an answer to both test cases.
Related benchmarks:
Array Sorting Methods
using .length within and out of for loop
unique elements in array using filter v2
unique elements in array using filter - large array
Comments
Confirm delete:
Do you really want to delete benchmark?