]> mj.ucw.cz Git - libucw.git/commit
Completely rewritten buffer management of the sorter.
authorMartin Mares <mj@ucw.cz>
Wed, 23 May 2007 19:21:42 +0000 (21:21 +0200)
committerMartin Mares <mj@ucw.cz>
Wed, 23 May 2007 19:21:42 +0000 (21:21 +0200)
commitb340e1fbbfa9fcfc4c3f9ef41c84f2e86c523bdc
tree2f3a3127b6a9a18db47c31e579ca08f6c7d34b0e
parent2a66c8120bf99a1448e43a1c16996714d177f339
Completely rewritten buffer management of the sorter.

The big_buf is no longer split in a fixed way. Every sorter module now
decides on its own how to subdivide the buffer. This leads to better
utilization of the buffer space (e.g., when not using a radix-sorter)
and to the possibility to adjust workspace used for merging via the
(new) SORT_UNIFY_WORKSPACE macro.

s-fixint is now applied only if no workspace is required, but this should
cover all known uses of unification on fixed-size records anyway.
lib/sorter/common.h
lib/sorter/s-fixint.h
lib/sorter/s-internal.h
lib/sorter/sbuck.c
lib/sorter/sort-test.c
lib/sorter/sorter.h