function createBenchmark( len, arr, N ) {
	var x;
	var i;
	var j;

	x = [];
	for ( i = 0; i < len; i++ ) {
		j = floor( randu()*N );
		x.push( arr[ j ] );
	}
	return benchmark;

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

		b.tic();
		for ( i = 0; i < b.iterations; i++ ) {
			j = floor( randu()*N );
			x[ 0 ] = arr[ j ];
			out = tabulate( x );
			if ( typeof out !== 'object' ) {
				b.fail( 'should return an array' );
			}
		}
		b.toc();
		if ( !isArray( out ) ) {
			b.fail( 'should return an array' );
		}
		b.pass( 'benchmark finished' );
		b.end();
	}
}
Creates a benchmark function.

@private
@param {PositiveInteger} len - array length
@param {Array} arr - array of unique values
@param {PositiveInteger} N - number of unique values to use
@returns {Function} benchmark function