function createBenchmark( narrays, ndims ) {
	var arrays;
	var shape;
	var sh;
	var x;
	var y;
	var i;

	x = array( [ [ 1, 2 ], [ 3, 4 ] ] );
	sh = x.shape;

	shape = [];
	for ( i = 0; i < ndims; i++ ) {
		shape.push( 0 );
	}
	for ( i = ndims; i >= 1; i-- ) {
		if ( i > sh.length ) {
			shape[ ndims-i ] = 5;
		} else {
			shape[ ndims-i ] = sh[ i-1 ];
		}
	}
	arrays = [ x ];
	for ( i = 1; i < narrays; i++ ) {
		if ( i < narrays-1 ) {
			y = zeros( sh );
		} else {
			y = zeros( shape );
		}
		arrays.push( y );
	}

	return benchmark;

	/**
	* Benchmark function.
	*
	* @private
	* @param {Benchmark} b - benchmark instance
	*/
	function benchmark( b ) {
		var out;
		var i;

		b.tic();
		for ( i = 0; i < b.iterations; i++ ) {
			out = broadcastArrays( arrays );
			if ( typeof out !== 'object' ) {
				b.fail( 'should return an object' );
			}
		}
		b.toc();
		if ( !isArray( out ) || !isndarrayLike( out[ 0 ] ) ) {
			b.fail( 'should return an array of ndarrays' );
		}
		b.pass( 'benchmark finished' );
		b.end();
	}
}
Creates a benchmark function.

@private
@param {PositiveInteger} narrays - number of arrays to broadcast
@param {PositiveInteger} ndims - number of dimensions
@returns {Function} benchmark function