docs/src/install.md

Sun, 14 Jan 2024 13:50:17 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 14 Jan 2024 13:50:17 +0100
changeset 806
e06249e09f99
parent 760
52e49533e7b4
child 807
c8d692131b1e
permissions
-rw-r--r--

add constant for reading out strstr sbo size - relates to #343

also fixes the related test which was working with the old SBO size of 256 and was broken after increasing it to 512

     1 ---
     2 title: Build Instructions
     3 ---
     5 The build processes uses configure and make.
     6 First, download the source code from [Source Forge][1].
     8     wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz
     9     tar -xzf ucx-latest.tar.gz
    10     cd ucx-latest
    12 Then execute ./configure with the options you like. You can get a list of
    13 all available options with ./configure --help. The recommended configuration
    14 for production builds is ./configure --release.
    16     ./configure --release
    17     make
    18     make check                 # only available when built with tests 
    19     sudo make install
    21 When compiling UCX 3, you can tweak the buffer sizes for small-buffer-optimization.
    22 You can do this, be pre-defining one or more of the following macros:
    24 --------------------------------- --------------------------------------------------------------------- ----------
    25 Macro                             Description                                                           Default
    26 --------------------------------- --------------------------------------------------------------------- ----------
    27 CX_ARRAY_SWAP_SBO_SIZE            The maximum item size in an array list that uses SBO.                 128
    29 CX_LINKED_LIST_SORT_SBO_SIZE      The maximum list size that uses SBO during sort.                      1024
    31 CX_LINKED_LIST_SWAP_SBO_SIZE      The maximum item size that uses SBO swap instead of relinking.        128
    33 CX_PRINTF_SBO_SIZE                The maximum string length printf.h uses stack memory for.             512
    35 CX_STRSTR_SBO_SIZE                The maximum length of the "needle" in cx_strstr that can use SBO.     512
    36 --------------------------------- --------------------------------------------------------------------- ----------
    38 You can also tweak some other buffer sizes with the same technique:
    40 --------------------------------- --------------------------------------------------- ----------
    41 Macro                             Description                                         Default
    42 --------------------------------- --------------------------------------------------- ----------
    43 CX_STRREPLACE_INDEX_BUFFER_SIZE   The number of matches one index buffer can store.   64
    45 CX_STREAM_COPY_BUF_SIZE           The buffer size on the stack for a stream copy.     1024
    47 CX_STREAM_BCOPY_BUF_SIZE          The buffer size on the heap for a stream copy.      8192
    48 --------------------------------- --------------------------------------------------- ----------
    50 ---
    52 ### UCX 2.1
    54 The build procedure for UCX 2.1 uses a configure script.
    55 For Microsoft Windows, you will need an appropriate port of the linux
    56 tools (like MinGW or Cygwin).
    57 First, download the source code from [Source Forge][1].
    59     wget https://sourceforge.net/projects/ucx/files/ucx-2.1.0.tar.gz
    60     tar -xzf ucx-2.1.0.tar.gz
    61     cd ucx-2.1.0
    63 Then issue the `configure` and `make` commands.
    65     ./configure && make
    67 To verify your installment you can issue `make check`. If everything is fine,
    68 you can install UCX with
    70     make install
    72 Note, that you might need administrative privileges for a system wide
    73 installation.
    75 [1]: https://sourceforge.net/projects/ucx/files/

mercurial