-
Notifications
You must be signed in to change notification settings - Fork 18
Compilation
The basic compilation generates the icsiboost executable in the ./src subdirectory:
./configure
make
Or, if you want to install icsiboost in a specific directory (dir/bin) and get optimizations:
./configure --prefix=dir CFLAGS=-O3
make
make install
Refer to automake/autoconf... tools documentation for details.
icsiboost is compiled by gcc (never tried anything else) and requires pcre, pthreads and zlib. It has been tested on linux and MacOSX 10.4.
A library for data structures is provided in ./src/utils/. It handles things like hashtables, strings, regular expressions or growable arrays in the philosophy of perl, but for c. This library is not very clever but it does its job and icsiboost is heavily built on it. You can compile the test suite for that library and run it:
cd src
make utils_test
./utils_test
The main configuration options are located in the source files (not yet in configure):
- icsiboost.c:#define USE_THREADS
->
threaded weak learners. shrinks training time (enabled) - icsiboost.c:#define USE_FLOATS
->
floating point precision. does not work (disabled) - utils/common.h:#define USE_PCRE
->
use pcre regular expression library. otherwise, fallback on posix implementation. (enabled) - utils/common.h:#define DEBUG
->
activate debugging mode. runs gdb on sigsegv... (disabled) - utils/common.h:#defined USE_GC
->
use garbage collector. does not work. (disabled) - utils/string.h:#define STRING_REGEX_USE_CACHE
->
regular expressions are only compiled once (enabled) - utils/hashtable.h:#define HASHTABLE_REORDER_ON_ACCESS
->
speed up access to frequent values in hashtables. (enabled) - utils/hashtable.h:#define HASHTABLE_GATHER_STATS
->
count accesses to hashtables for debugging. (disabled) - utils/hashtable.h:#define HASHTABLE_INCREASE_SIZE
->
increase hashtable size when the number of collisions is too large. (enabled) - utils/hashtable.h:#define HASHTABLE_CENTRALIZE_KEYS
->
hashtables use less memory but insertion is slower. (disabled)