function createBenchmark( shape, order ) {
	var strides = shape2strides( shape, order );
	var x = zeroTo( numel( shape ) );
	return benchmark;

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

		b.tic();
		for ( i = 0; i < b.iterations; i++ ) {
			out = strided2array2d( x, shape, strides, 0 );
			i1 = i % shape[ 0 ];
			i0 = i % shape[ 1 ];
			if ( isnan( out[ i1 ][ i0 ] ) ) {
				b.fail( 'should not return NaN' );
			}
		}
		b.toc();

		i1 = i % shape[ 0 ];
		i0 = i % shape[ 1 ];
		if ( isnan( out[ i1 ][ i0 ] ) ) {
			b.fail( 'should not return NaN' );
		}
		b.pass( 'benchmark finished' );
		b.end();
	}
}
Creates a benchmark function.

@private
@param {PositiveIntegerArray} shape - array shape
@param {string} order - memory layout order
@returns {Function} benchmark function