X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fsorter%2FTODO;h=bd399e2a0d6884cac7df928cae615ffc7eb5378e;hb=aafbea40b7613274180c8bab60012a0322f8d7dd;hp=b0417ad76e5309ae87fdaf4c074745fdb9e552ae;hpb=7119957a2df57af617f432dd429e1d6ae5cbe0fd;p=libucw.git diff --git a/lib/sorter/TODO b/lib/sorter/TODO index b0417ad7..bd399e2a 100644 --- a/lib/sorter/TODO +++ b/lib/sorter/TODO @@ -1,18 +1,15 @@ -Testing: -o Giant runs. -o Records of odd lengths. -o Empty files. +Cleanups: +o Log messages should show both original and new size of the data. The speed + should be probably calculated from the former. +o Buffer sizing in shep-export. Improvements: -o Alignment? Use of SSE? -o Use radix-sort for internal sorting. -o Parallelization of internal sorting. -o Clean up data types and make sure they cannot overflow. (size_t vs. u64 vs. sh_off_t vs. uns) -o Buffer sizing in internal sorters. -o Switching between direct and normal I/O. -o When merging, choose the output file with less runs instead of always switching? -o Implement multi-way merge. -o Mode with only 2-way unification? -o Speed up 2-way merge. -o Speed up radix splitting. -o A debug switch for disabling the presorter. +o When quicksorting a large input (especially in threaded case), invest more + time to picking a good pivot. +o Overlay presorter I/O with internal sorting. + +Users of lib/sorter/array.h which might use radix-sorting: +indexer/chewer.c +indexer/lexfreq.c +indexer/mkgraph.c +indexer/reftexts.c