Tue, 04 Oct 2022 19:25:07 +0200
fix over-optimization of strstr
1. it's actually less performant to frequently read bytes
from an array instead of using the native word length
2. the SBO buffer should be local and not static to allow
multi-threading usage
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
1 | ------------------------------------------------------------------------------- |
256
2c21b42cf11d
documentation will now be generated using pandoc
Mike Becker <universe@uap-core.de>
parents:
250
diff
changeset
|
2 | UAP Common Extensions - UCX |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
3 | ------------------------------------------------------------------------------- |
103
08018864fb91
added license and copyright notice to all files
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
5 | 0. Table of Contents: |
103
08018864fb91
added license and copyright notice to all files
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | |
155
45395ba5ed30
further improved build system (debug is now a target instead of a configuration)
Mike Becker <universe@uap-core.de>
parents:
152
diff
changeset
|
7 | 1. Introduction ........................................................ 15 |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
8 | 2. Build ............................................................... 25 |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
9 | 3. Documentation ....................................................... 44 |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
10 | 4. Contact ............................................................. 57 |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
11 | 5. License ............................................................. 64 |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
12 | |
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
13 | |
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
14 | 1. Introduction |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
15 | --------------- |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
16 | |
259 | 17 | With this library we provide useful data structures and algorithms for common |
18 | programmatic tasks in the C language. By design the features are divided into | |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
19 | modules to minimize the library footprint. Using the build files you can create |
259 | 20 | a static and a shared lib containing all modules, but you may also use the UCX |
21 | sources in your project and compile specific modules by yourself to further | |
22 | minimize the footprint. | |
103
08018864fb91
added license and copyright notice to all files
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | |
08018864fb91
added license and copyright notice to all files
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | |
155
45395ba5ed30
further improved build system (debug is now a target instead of a configuration)
Mike Becker <universe@uap-core.de>
parents:
152
diff
changeset
|
25 | 2. Build |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
26 | -------- |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
27 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
28 | Untar the source archive and run |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
29 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
30 | mkdir build |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
31 | cd build |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
32 | cmake .. |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
33 | make |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
34 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
35 | Optionally install UCX by running the following command as privileged user |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
36 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
37 | make install |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
38 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
39 | If you want to verify your build, you can run |
155
45395ba5ed30
further improved build system (debug is now a target instead of a configuration)
Mike Becker <universe@uap-core.de>
parents:
152
diff
changeset
|
40 | |
256
2c21b42cf11d
documentation will now be generated using pandoc
Mike Becker <universe@uap-core.de>
parents:
250
diff
changeset
|
41 | make check |
155
45395ba5ed30
further improved build system (debug is now a target instead of a configuration)
Mike Becker <universe@uap-core.de>
parents:
152
diff
changeset
|
42 | |
45395ba5ed30
further improved build system (debug is now a target instead of a configuration)
Mike Becker <universe@uap-core.de>
parents:
152
diff
changeset
|
43 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
44 | 3. Documentation |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
45 | ---------------- |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
46 | |
250 | 47 | Documentation is available at: |
48 | ||
49 | https://develop.uap-core.de/ucx/index.html | |
50 | ||
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
51 | The code uses doxygen source code documentation. A html version of the |
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
52 | documentation is also available here: |
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
53 | |
250 | 54 | https://develop.uap-core.de/ucx/api/index.html |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
55 | |
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
56 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
57 | 4. Contact |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
58 | ---------- |
151
fc8d05972af7
added README file - TODO: make install
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
59 | |
250 | 60 | Olaf Wintermann (olaf.wintermann@gmail.com) |
61 | Mike Becker (universe@uap-core.de) | |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
62 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
63 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
64 | 5. License |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
65 | ---------- |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
66 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
67 | Copyright 2021 Mike Becker, Olaf Wintermann All rights reserved. |
159
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
68 | |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
69 | Redistribution and use in source and binary forms, with or without |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
70 | modification, are permitted provided that the following conditions are met: |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
71 | |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
72 | 1. Redistributions of source code must retain the above copyright |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
73 | notice, this list of conditions and the following disclaimer. |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
74 | |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
75 | 2. Redistributions in binary form must reproduce the above copyright |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
76 | notice, this list of conditions and the following disclaimer in the |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
77 | documentation and/or other materials provided with the distribution. |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
78 | |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
79 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
80 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
81 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
82 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
83 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
84 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
85 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
86 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
87 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
88 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
a22b6da0587e
added license to readme + added underlines to chapter titles
Mike Becker <universe@uap-core.de>
parents:
157
diff
changeset
|
89 | POSSIBILITY OF SUCH DAMAGE. |