From: Martin Mares Date: Thu, 15 May 2008 10:35:37 +0000 (+0200) Subject: Added configuration file for libucw modules. X-Git-Tag: python-dummy-working~193 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=65517c0cd75d3c846d8e8304c414e9d63d155ecc;p=moe.git Added configuration file for libucw modules. --- diff --git a/cf/library b/cf/library new file mode 100644 index 0000000..ae12f43 --- /dev/null +++ b/cf/library @@ -0,0 +1,156 @@ +# Configuration of libucw modules + +######## Memory Mapped Access to Files ########################################## + +# Whenever you specify 0 for I/O buffer size, memory mapping is used instead. +FBMMap { + +# Map this many bytes at once (needs to be a multiple of CPU page size) +WindowSize 1M + +# When in need to extend a file, grow it by so many bytes (>= page size) +ExtendSize 1M + +} + +######## Direct Streamed I/O on Files ########################################### + +FBDirect { + +# Debug: Cheat by turning off O_DIRECT +#Cheat 1 + +} + +######## Parametrized I/O on Files ############################################## + +FBParam { + +Defaults { + +# Access type (std|direct|mmap). +Type std + +# Size of I/O buffer. Something of the order of megabytes for fast disks is recommended for direct I/O. +BufSize 64K + +# Optimize for mixed forward/backward reading (standard I/O only) +KeepBackBuf 0 + +# Perform read-ahead (direct I/O only) +ReadAhead 1 + +# Maximum number of write-back requests queued (direct I/O only) +WriteBack 1 + +} + +} + +######## Temporary files ######################################################## + +Tempfiles { + +# Filename prefix for temporary files ("pid(-tid)-counter" is appended) +# The directory should not be writeable by malicious users. +Prefix tmp/temp + +} + +######## Threads ################################################################ + +Threads { + +# Default thread stack size +DefaultStackSize 64K + +} + +######## Sorter ################################################################# + +Sorter { + +# Trace sorting (1=basic statistics, 2=more stats, 3 and more for debugging) +Trace 2 + +# Trace array sorting (internal sorters) +TraceArray 0 + +# How much memory is the sorter allowed to use +SortBuffer 4M + +# File access used by the sorter (see FBParam section for details) +FileAccess std 256K + +# Use a different file access method for small inputs (less than the specified size) +SmallFileAccess std 64K +SmallInput 64M + +# Min-/Maximum number of bits to use in the external radix-sort (beware, we will open +# 1+2^this files and require a stream buffer for each of them; however, while we are +# doing that, the sort buffer is not allocated). Set both to zero to disable radix-sorting. +MinRadixBits 2 +MaxRadixBits 4 + +# The same for multi-way merging. The memory requirements are also the same, +# but please keep in mind that this can create lots of SortBuffer-sized files, +# so it is probably better to keep it disabled if you have a small SortBuffer. +MinMultiwayBits 2 +MaxMultiwayBits 4 + +# If we did not use radix-sorter to the full width, we still might add some more +# bits to the width to get chunks which are even smaller than SortBuffer, because +# it can speed up internal sorting later. However, we also want to avoid small +# files, so we add only a little. +AddRadixBits 2 + +# Number of threads used for sorting (0=disable threading) +Threads 0 + +# Minimum size of input (in bytes) to consider multi-threaded internal sorting +ThreadThreshold 1M + +# Chunks smaller than ThreadThreshold are sorted by a sequential algorithm, but +# if they are at least of the following size, different chunks are sorted in +# parallel. There is a slight space penalty for setting up the parallel process, +# so better avoid setting this number too small. +ThreadChunk 256 + +# Internal radix-sort stops at this size and switches to QuickSort (must be >0) +RadixThreshold 4K + +# Debugging switches (see the source) +Debug 0 + +} + +######## URL processing ######################################################### + +URL { + +# Ignore spaces at the start/end of a URL +IgnoreSpaces 1 + +# Ignore underflows in relative paths (/../ from root) +IgnoreUnderflow 1 + +# Some URL's with many repeated components are filtered out to avoid infinite +# URL's (e.g. http://czech.recoder.cz/win/iso/win/iso/file.html, or +# http://a.com/?a=b&a=b&a=b, ...). +# The URL is split to components divided by any of the specified separators. +# Then the separators are forgotten and the components between them are +# examined. +ComponentSeparators /&? + +# URL is filtered out if there's a sequence of components in a row with at most +# MaxRepeatLength components and the sequence is repeated more than MinRepeatCount +# times. Default values are high MinRepeatCount and low MaxRepeatLength, so the +# mechanism is disabled. +MinRepeatCount 4 +MaxRepeatLength 4 + +# Maximum number of occurences of a single component in the entire URL (possibly interleaved +# by different components). The detector is disabled by default. +MaxOccurences 4 + +}