|
%!s(int64=4) %!d(string=hai) anos | |
---|---|---|
.. | ||
README.md | %!s(int64=7) %!d(string=hai) anos | |
bench_app.c | %!s(int64=6) %!d(string=hai) anos | |
benchmark_config.json | %!s(int64=7) %!d(string=hai) anos | |
config.toml | %!s(int64=4) %!d(string=hai) anos | |
facil.io.dockerfile | %!s(int64=4) %!d(string=hai) anos | |
setup-common.sh | %!s(int64=6) %!d(string=hai) anos |
Benchmarks for the facil.io framework.
Missing tests:
The tests were run with:
When adding tests, please remember that:
facil.io was designed to be evented.
For example, instead of waiting for Database results, please use http_pause
and http_resume
to pause a request from processing until the Database results arrived (at which point, remember to resume the request).
If using the evented approach is impossible, add threads by updating the command line -t
argument to an increased thread count.
facil.io assumes memory ownership oriented design.
This means that functions that place data into another object (i.e., setting header values, hash values etc') take ownership of the data but not it's key.
For example, when adding an HTTP header, the header name (key) is owned by the calling function (which should free the header name when it's done with it) - but the header value is now owned by the header collection and can no longer be used by the calling function (unless duplicated using fiobj_dup
).
This only applies to functions that place the data into an object (see FIOBJ
documentation). This doesn't apply to send/receive functions such as pubsub_publish
or pub/sub handlers where the data is "passed through" (or copied) without being placed into an accessible object.