class type sorter =Sorters are filled with records, and when the sorter is full, the records are sorted by key, and written to a destination.object..end
    The amount of data that can be put into a sorter is limited by
    max_sort_size. It is the task of the caller to stick to this
    limit.
method name : stringmethod eff_sort_limit : intmethod sort_lines_limit : int -> intmethod set_key_extraction : (string -> int * int) -> unitextract_key returns, see below.method put_records : string Queue.t -> unitmethod sort : Mapred_io.record_writer -> unitsort, the sorter is cleared, and can be used for new
	data.method sort_time : floatmethod close : unit -> unitmethod hash : string -> int -> int -> inthash record key_index key_len: Takes
	key = String.sub record index key_len as key, and returns
	the hash value. (If the sorter does not work with hashes, the
	method must return 0 instead.)
	Hash values must be between 0 and 2^30-1 (i.e. 30 bits max).
method cmp : string -> int -> int -> string -> int -> int -> intcmp s1 i1 l1 s2 i2 l2: Compare two keys as the sorter does.
	The first key is passed in by the string s1 and the start index
	i1 and the length l1. 
	The other key is made available via s2, i2, and l2.
	cmp is only called if cmphash returns 0.
	It is essential that cmp does not store the passed strings s1
	and s2 anywhere.