Skip to content

Commit 5bb23e9

Browse files
committed
Add benchmark
1 parent 286e9e2 commit 5bb23e9

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

docs/migration-guides/lodash/benchmark/benchmark.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,40 @@ bench( pkg+'::lodash:forEachRight', opts, function benchmark( b ) {
134134
b.pass( 'benchmark finished' );
135135
b.end();
136136
});
137+
138+
bench( pkg+'::lodash:groupBy', opts, function benchmark( b ) {
139+
var vals;
140+
var arr;
141+
var len;
142+
var o;
143+
var i;
144+
var j;
145+
146+
function indicator( v ) {
147+
return v[ 0 ];
148+
}
149+
150+
vals = [ 'beep', 'boop', 'foo', 'bar', 'woot' ];
151+
152+
arr = new Array( 100 );
153+
len = arr.length;
154+
for ( i = 0; i < len; i++ ) {
155+
j = floor( randu()*vals.length );
156+
arr[ i ] = vals[ j ];
157+
}
158+
b.tic();
159+
for ( i = 0; i < b.iterations; i++ ) {
160+
j = floor( randu()*vals.length );
161+
arr[ 0 ] = vals[ j ];
162+
o = _.groupBy( arr, indicator );
163+
if ( typeof o !== 'object' ) {
164+
b.fail( 'should return an object' );
165+
}
166+
}
167+
b.toc();
168+
if ( typeof o !== 'object' ) {
169+
b.fail( 'should return an object' );
170+
}
171+
b.pass( 'benchmark finished' );
172+
b.end();
173+
});

0 commit comments

Comments
 (0)