Sun, 01 Sep 2024 16:14:34 +0200
optimize default insert_sorted implementation
resolves #418
264
24f5484bae97
web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
1 | --- |
24f5484bae97
web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
2 | title: Build Instructions |
24f5484bae97
web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
3 | --- |
259 | 4 | |
760
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
5 | The build processes uses configure and make. |
259 | 6 | First, download the source code from [Source Forge][1]. |
7 | ||
8 | wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz | |
9 | tar -xzf ucx-latest.tar.gz | |
10 | cd ucx-latest | |
760
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
11 | |
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
12 | Then execute ./configure with the options you like. You can get a list of |
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
13 | all available options with ./configure --help. The recommended configuration |
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
14 | for production builds is ./configure --release. |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
15 | |
760
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
16 | ./configure --release |
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
17 | make |
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
18 | make check # only available when built with tests |
52e49533e7b4
update build instructions
Mike Becker <universe@uap-core.de>
parents:
737
diff
changeset
|
19 | sudo make install |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
20 | |
737
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
21 | When compiling UCX 3, you can tweak the buffer sizes for small-buffer-optimization. |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
22 | You can do this, be pre-defining one or more of the following macros: |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
23 | |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
24 | --------------------------------- --------------------------------------------------------------------- ---------- |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
25 | Macro Description Default |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
26 | --------------------------------- --------------------------------------------------------------------- ---------- |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
27 | CX_ARRAY_SWAP_SBO_SIZE The maximum item size in an array list that uses SBO. 128 |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
28 | |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
29 | CX_LINKED_LIST_SWAP_SBO_SIZE The maximum item size that uses SBO swap instead of relinking. 128 |
737
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
30 | |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
31 | CX_LINKED_LIST_SORT_SBO_SIZE The maximum list size that uses SBO during sort. 1024 |
737
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
32 | |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
33 | CX_PRINTF_SBO_SIZE The maximum string length printf.h uses stack memory for. 512 |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
34 | |
806
e06249e09f99
add constant for reading out strstr sbo size - relates to #343
Mike Becker <universe@uap-core.de>
parents:
760
diff
changeset
|
35 | CX_STRSTR_SBO_SIZE The maximum length of the "needle" in cx_strstr that can use SBO. 512 |
737
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
36 | --------------------------------- --------------------------------------------------------------------- ---------- |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
37 | |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
38 | You can also tweak some other buffer sizes with the same technique: |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
39 | |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
40 | --------------------------------- --------------------------------------------------- ---------- |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
41 | Macro Description Default |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
42 | --------------------------------- --------------------------------------------------- ---------- |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
43 | CX_STRREPLACE_INDEX_BUFFER_SIZE The number of matches one index buffer can store. 64 |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
44 | |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
45 | CX_STREAM_COPY_BUF_SIZE The buffer size on the stack for a stream copy. 1024 |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
46 | |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
47 | CX_STREAM_BCOPY_BUF_SIZE The buffer size on the heap for a stream copy. 8192 |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
48 | --------------------------------- --------------------------------------------------- ---------- |
b3b113eac3b8
add overridable macros to the install docs
Mike Becker <universe@uap-core.de>
parents:
721
diff
changeset
|
49 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
50 | --- |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
51 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
52 | ### UCX 2.1 |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
53 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
54 | The build procedure for UCX 2.1 uses a configure script. |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
55 | For Microsoft Windows, you will need an appropriate port of the linux |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
56 | tools (like MinGW or Cygwin). |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
57 | First, download the source code from [Source Forge][1]. |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
58 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
59 | wget https://sourceforge.net/projects/ucx/files/ucx-2.1.0.tar.gz |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
60 | tar -xzf ucx-2.1.0.tar.gz |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
61 | cd ucx-2.1.0 |
259 | 62 | |
63 | Then issue the `configure` and `make` commands. | |
64 | ||
65 | ./configure && make | |
66 | ||
67 | To verify your installment you can issue `make check`. If everything is fine, | |
68 | you can install UCX with | |
69 | ||
70 | make install | |
71 | ||
72 | Note, that you might need administrative privileges for a system wide | |
73 | installation. | |
74 | ||
75 | [1]: https://sourceforge.net/projects/ucx/files/ | |
76 |