]> mj.ucw.cz Git - eval.git/blob - cf/library
Document various error reporting functions.
[eval.git] / cf / library
1 # Configuration of libucw modules
2
3 ######## Memory Mapped Access to Files ##########################################
4
5 # Whenever you specify 0 for I/O buffer size, memory mapping is used instead.
6 FBMMap {
7
8 # Map this many bytes at once (needs to be a multiple of CPU page size)
9 WindowSize              1M
10
11 # When in need to extend a file, grow it by so many bytes (>= page size)
12 ExtendSize              1M
13
14 }
15
16 ######## Direct Streamed I/O on Files ###########################################
17
18 FBDirect {
19
20 # Debug: Cheat by turning off O_DIRECT
21 #Cheat                  1
22
23 }
24
25 ######## Parametrized I/O on Files ##############################################
26
27 FBParam {
28
29 Defaults {
30
31 # Access type (std|direct|mmap).
32 Type                    std
33
34 # Size of I/O buffer. Something of the order of megabytes for fast disks is recommended for direct I/O.
35 BufSize                 64K
36
37 # Optimize for mixed forward/backward reading (standard I/O only)
38 KeepBackBuf             0
39
40 # Perform read-ahead (direct I/O only)
41 ReadAhead               1
42
43 # Maximum number of write-back requests queued (direct I/O only)
44 WriteBack               1
45
46 }
47
48 }
49
50 ######## Temporary files ########################################################
51
52 Tempfiles {
53
54 # Filename prefix for temporary files ("pid(-tid)-counter" is appended)
55 # The directory should not be writeable by malicious users.
56 Prefix                  tmp/temp
57
58 }
59
60 ######## Threads ################################################################
61
62 Threads {
63
64 # Default thread stack size
65 DefaultStackSize        64K
66
67 }
68
69 ######## Sorter #################################################################
70
71 Sorter {
72
73 # Trace sorting (1=basic statistics, 2=more stats, 3 and more for debugging)
74 Trace                   2
75
76 # Trace array sorting (internal sorters)
77 TraceArray              0
78
79 # How much memory is the sorter allowed to use
80 SortBuffer              4M
81
82 # File access used by the sorter (see FBParam section for details)
83 FileAccess              std 256K
84
85 # Use a different file access method for small inputs (less than the specified size)
86 SmallFileAccess         std 64K
87 SmallInput              64M
88
89 # Min-/Maximum number of bits to use in the external radix-sort (beware, we will open
90 # 1+2^this files and require a stream buffer for each of them; however, while we are
91 # doing that, the sort buffer is not allocated). Set both to zero to disable radix-sorting.
92 MinRadixBits            2
93 MaxRadixBits            4
94
95 # The same for multi-way merging. The memory requirements are also the same,
96 # but please keep in mind that this can create lots of SortBuffer-sized files,
97 # so it is probably better to keep it disabled if you have a small SortBuffer.
98 MinMultiwayBits         2
99 MaxMultiwayBits         4
100
101 # If we did not use radix-sorter to the full width, we still might add some more
102 # bits to the width to get chunks which are even smaller than SortBuffer, because
103 # it can speed up internal sorting later. However, we also want to avoid small
104 # files, so we add only a little.
105 AddRadixBits            2
106
107 # Number of threads used for sorting (0=disable threading)
108 Threads                 0
109
110 # Minimum size of input (in bytes) to consider multi-threaded internal sorting
111 ThreadThreshold         1M
112
113 # Chunks smaller than ThreadThreshold are sorted by a sequential algorithm, but
114 # if they are at least of the following size, different chunks are sorted in
115 # parallel. There is a slight space penalty for setting up the parallel process,
116 # so better avoid setting this number too small.
117 ThreadChunk             256
118
119 # Internal radix-sort stops at this size and switches to QuickSort (must be >0)
120 RadixThreshold          4K
121
122 # Debugging switches (see the source)
123 Debug                   0
124
125 }
126
127 ######## URL processing #########################################################
128
129 URL {
130
131 # Ignore spaces at the start/end of a URL
132 IgnoreSpaces            1
133
134 # Ignore underflows in relative paths (/../ from root)
135 IgnoreUnderflow         1
136
137 # Some URL's with many repeated components are filtered out to avoid infinite
138 # URL's (e.g. http://czech.recoder.cz/win/iso/win/iso/file.html, or
139 # http://a.com/?a=b&a=b&a=b, ...).
140 # The URL is split to components divided by any of the specified separators.
141 # Then the separators are forgotten and the components between them are
142 # examined.
143 ComponentSeparators     /&?
144
145 # URL is filtered out if there's a sequence of components in a row with at most
146 # MaxRepeatLength components and the sequence is repeated more than MinRepeatCount
147 # times.  Default values are high MinRepeatCount and low MaxRepeatLength, so the
148 # mechanism is disabled.
149 MinRepeatCount          4
150 MaxRepeatLength         4
151
152 # Maximum number of occurences of a single component in the entire URL (possibly interleaved
153 # by different components). The detector is disabled by default.
154 MaxOccurences           4
155
156 }