]> mj.ucw.cz Git - libucw.git/blob - debug/sorter/NOTES
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git
[libucw.git] / debug / sorter / NOTES
1 Users of lib/sorter.h:
2
3 centrum/indexer/oook.c                  fixed           oid
4 centrum/indexer/patch-index.c           fixed           oid
5 gather/daemon/expire.c                  variable        complex
6 gather/daemon/gc.c                      variable        complex
7 gather/daemon/gc.c                      variable        hash
8 gather/shepherd/shep-cleanup.c          5 bytes         oid                             4 min
9 gather/shepherd/shep-cleanup.c          fixed           hash                            35 min
10 gather/shepherd/shep-export.c           fixed           oid                             9 min
11 gather/shepherd/shep-export.c           fixed           weight
12 gather/shepherd/shep-plan.c             fixed           weight + oid                    in mem
13 gather/shepherd/shep-plan.c             fixed           site ptr + complex              in mem
14 gather/shepherd/shep-record.c           fixed           reducible to int                in mem
15 gather/shepherd/shep-record.c           fixed           oid                             in mem
16 gather/shepherd/shep.c                  fixed           oid
17 gather/shepherd/shep.c                  fixed           hash
18 gather/shepherd/shep-cork.c             fixed           hash + int                      20 min
19 gather/shepherd/shep-feedback.c         fixed           hash
20 gather/shepherd/shep-merge.c            fixed           hash + int
21 gather/shepherd/shep-merge.c            fixed           complex (probably can create monotone hashes for that)  38 min
22 gather/shepherd/shep-mirror.c           fixed           hash + more
23 gather/shepherd/shep-mirror.c           fixed           hash + more
24 gather/shepherd/shep-recover.c          fixed           hash + more
25 gather/shepherd/shep-select.c           fixed           weight (non-triv) + hash        21 min
26 indexer/attrsort.c                      fixed large     oid
27 indexer/backlinker.c                    8 bytes         int
28 indexer/black-gen.c                     fixed           oid
29 indexer/feedback-gath.c                 fixed           hash + complex                  7 min
30 indexer/fpsort.c                        fixed           hash + oid                      9 min
31 indexer/imagesigs.c                     5 bytes         xlat[oid] + oid
32 indexer/keywords.c                      fixed           complex multi-pass
33 indexer/labelsort.c                     variable        oid + complex                   2:00
34 indexer/mergeimages.c                   variable        xlat[index]
35 indexer/mergesigns.c                    fixed           complex, but has hashes         1:33
36 indexer/mergesums.c                     fixed           hash
37 indexer/mkgraph.c                       complex         complex (with melding)          34 min
38 indexer/psort.c                         fixed           hash + oid                      2 min
39 indexer/reftexts.c                      5 bytes + var   oid
40 indexer/reftexts.c                      fixed           fpos
41 indexer/reftexts.c                      fixed           oid
42 indexer/reftexts.c                      10 bytes + var  fpos
43 indexer/ssort.c                         variable        hash (with melding)             1:30
44 indexer/weights.c                       8 bytes + var   xlat[index]
45 indexer/wsort.c                         variable        id (with melding)               7:20
46 lang/lang-tables.c                      fixed           complex
47 lang/stem-dict-gen.c                    variable        hash (with melding)
48
49 Users of lib/arraysort.h on big arrays:
50
51 indexer/chewer.c                        fixed           hash + others
52 indexer/chewer.c                        u32             id
53 indexer/imagesigs.c                     fixed           s32
54 indexer/lexfreq.c                       ptr             indirect int
55 indexer/lexorder.c                      ptr             complex
56 indexer/lexorder.c                      ptr             complex
57 indexer/lexsort.c                       ptr             complex
58 indexer/mergeimages.c                   fixed           s32
59 indexer/mkgraph.c                       u32             indirect int
60 indexer/mkgraph.c                       2*u32           complex, but have hash
61 indexer/mkgraph.c                       2*u32           complex, but have hash
62 indexer/reftexts.c                      fixed           indirect int
63
64 Interface:
65
66 Key structure           fixed aligned / fixed unaligned / variable
67 Data structure          none / given by data_len(key) function
68 Key I/O                 default (breadb/bwriteb or attempt direct I/O) / user-defined
69 Data I/O                always built-in
70 Input                   file / fastbuf / generator function
71                         + delete input ASAP flag
72 Output                  file / fastbuf / consumer function
73 Key comparison          comparison function
74                         monotone hash function
75                         preliminary comparison function (?)
76 Key merging             none / guaranteed unique / user-defined merge function:
77                                 multi-way merge in memory
78                                 2-way merge on fastbufs