libr3 is a high-performance path dispatching library. It compiles your route paths into a prefix tree (trie). By using the constructed prefix trie in the start-up time, you may dispatch your routes with efficiency
When building and running tests using an undefined behavior sanitizer it complains about misaligned member access (log).
(The flag -fno-sanitize-recover=all is important here to make sure a testcase fails when found..)
Some structs are set to have 64 byte alignment, but when they are allocated this is disregarded and gives above errors.
This PR removed the fixed alignment and let the compiler handle it.
When building and running tests using an undefined behavior sanitizer it complains about misaligned member access (log). (The flag
-fno-sanitize-recover=all
is important here to make sure a testcase fails when found..)Some structs are set to have 64 byte alignment, but when they are allocated this is disregarded and gives above errors. This PR removed the fixed alignment and let the compiler handle it.
pahole
the size of the structs changes:Running
./run-benchmark
gives equivalent results before and after this PR.