function createBenchmark( len ) {
	var data;
	var tmp;
	var i;
	var j;

	data = [];
	for ( i = 0; i < NLINES; i++ ) {
		tmp = [];
		for ( j = 0; j < len; j++ ) {
			tmp.push( j );
		}
		data.push( tmp.join( OPTS.delimiter ) );
	}
	data = data.join( OPTS.newline );

	return benchmark;

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

		opts = {
			'delimiter': OPTS.delimiter,
			'newline': OPTS.newline,
			'onRow': onRow
		};
		parse = new Parser( opts );

		b.tic();
		for ( i = 0; i < b.iterations; i++ ) {
			out = parse.next( data );
			if ( typeof out !== 'object' ) {
				b.fail( 'should return an object' );
			}
		}
		b.toc();
		if ( typeof out !== 'object' ) {
			b.fail( 'should return an object' );
		}
		b.pass( 'benchmark finished' );
		b.end();

		/**
		* Callback invoked upon processing a record.
		*
		* @private
		* @param {Array} record - record
		*/
		function onRow( record ) {
			if ( typeof record !== 'object' ) {
				b.fail( 'should return an object' );
			}
		}
	}
}
Creates a benchmark function.

@private
@param {PositiveInteger} len - number of columns
@returns {Function} benchmark function