Lodash groupBy (v3)

Revision 3 of this benchmark created on


Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

Setup

const data = [];

for (let i = 0; i < 10000; i++)
{
	let foo = "foo";
	if (i < 300) foo = "boo";
	if (i > 300 && i < 700) foo = "moo";
	data.push({id: i, foo: foo});
}

Test runner

Ready to run.

Testing in
TestOps/sec
Lodash groupBy
const grouped = _.groupBy(data, 'foo');
console.log(grouped);
ready
Custom groupBy
const grouped = {};
for (let i = 0; i < data.length; i++)
{
	if (grouped[data[i].foo]) {
		grouped[data[i].foo].push(data[id].id)	
	} 
}
console.log(grouped);
ready

Revisions

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