- Apr 12, 2021
-
-
Florian Schmaus authored
-
Florian Schmaus authored
[iwyu] Take load average into consideration on CI See merge request !151
-
Florian Schmaus authored
[IO] fix IoCompleterBehavior::none See merge request !161
-
Florian Schmaus authored
[gitlab-ci] Fix test-with-stats See merge request !159
-
Florian Schmaus authored
[io/Future] take a const reference of the Future::Callback See merge request !163
-
Florian Fischer authored
Currently we always resubmit a possible partial completed Future in the globalIo context. This is not possible any more when we don't have a running completer. Therefore we must resubmit on a worker's IoContext. Furthermore we now select the callerEnvironment at Runtime because I can not remember the reason why I choose to always resubmit on the GlobalIoContext.
-
Florian Schmaus authored
The EMPER option Meson option for stats is called 'stats' not 'worker_stats'.
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Fischer authored
-
Florian Schmaus authored
-
Florian Schmaus authored
This required that we backport iwyu_tool.py from https://github.com/include-what-you-use/include-what-you-use/pull/891 into tools/, which supports --load.
-
- Apr 11, 2021
-
-
Florian Fischer authored
Only create, initiateTermination and waitUntilFinished if the completer thread is actually used.
-
Florian Schmaus authored
Fix race condition in io::Stats See merge request !160
-
Florian Schmaus authored
The workerStats std::vector was modified concurrently without being synchronized. The Stats are constructed together with IoContext and the worker IoContexts are constructed concurrently at the beginning of the worker loop. And in the Stats constructor the workerStats std::vector was modified by adding the Stats instance that is currently being constructed to it. Turns out, we don't need the workerStats data structure at all. We simply provide the global and worker IoContexts to io::Stats::printStats(). This results IMHO in a cleaner design of printStats() since there is no longer a data structure called workerStats, that in fact, not only holds the worker's stats. And while we at it, we rename io::Stats::printWorkerStats() to io::Stats::printsStats(), since it does, in fact, not only print the worker stats, but more or less all related worker stats.
-
Florian Schmaus authored
-
- Apr 08, 2021
-
-
Florian Schmaus authored
[EchoClient] collect the total amount of unexpected echos See merge request !157
-
Florian Fischer authored
My first test runs don't show unexpected echos. Therefore I think unexpected echos are rare and their average will always be 0 even if some sparse unexpected echos occur.
-
Florian Schmaus authored
[EchoClient] changes to easier debug our IO evaluation artifact See merge request !156
-
Florian Fischer authored
* Use emper::lib::math::RunningAverage instead of doing it manually * Count the unexpected Echos, print a error to the log and go continue * Return a duration and error message pair from our clientIteration* functions * Print the current iteration on error * Wait 10 seconds after an error before terminating
-
Florian Fischer authored
This seams more intuitive. A macro called EMPER_BUILD_STR actually returning a string and not a lambda which when called returns the built string.
-
Florian Schmaus authored
[EchoClient] improve unexpected echo output See merge request !155
-
Florian Fischer authored
Build up output string and don't incrementally output it to stderr to hopefully prevent error messages interleaving. Only output the least significant byte of the unsigned int cast. Always use two digits per byte and remove the whitespace. Should have used printf in the first place.
-
- Apr 06, 2021
-
-
Florian Schmaus authored
[EchoClient] output buffers if they do not match See merge request !154
-
Florian Fischer authored
-
- Apr 03, 2021
-
-
Florian Schmaus authored
[EchoClient] output the number of all echos done See merge request !153
-
- Apr 02, 2021
-
-
Florian Fischer authored
-
- Apr 01, 2021
-
-
Florian Schmaus authored
[tests] restructure tests directory See merge request !152
-
Florian Fischer authored
Move io and lib related tests into io/ and lib/. Our test dictionaries not must have a 'source' key with an array created with files(). This ensures we use always correct paths regardless of the actual directory we are currently in. Until https://github.com/mesonbuild/meson/issues/8608 is not solved we have to separately specify the tests name in a 'name' key.
-
- Mar 29, 2021
-
-
Florian Schmaus authored
[Debug.hpp] wrap actual logging in log-level constexpr See merge request !150
-
Florian Fischer authored
According to godbolt.org do { if constexpr(false) { break; } int foo = 42; foo++; } while(false); does result in code generation for gcc 10.2 and clang 11.0.1 as opposed to do { if constexpr(false) { int foo = 42; foo++; }} while(false); which does not result in code generation for both gcc and clang. And this simple change did indeed significantly increases our echo benchmark performance. We were probably creating a lot of std::stringstream objects without ever using them.
-
- Mar 24, 2021
-
-
Florian Schmaus authored
[Makefile] Make ninja consider the load average See merge request !149
-
Florian Fischer authored
[Runtime] print stats in the destructor not at exit See merge request !147
-
Florian Schmaus authored
-
Florian Fischer authored
-
Florian Schmaus authored
Various test-runner improvements Closes #14 See merge request !142
-
Florian Schmaus authored
[io/Stats] introduce named constants for special workerIds See merge request !148
-
Florian Schmaus authored
Allocate the Actor and the BPS on the heap as otherwise Fibers may access already destructed Actor data.
-
Florian Schmaus authored
While this does not fix anything, it appears sensible that we call stop() prior destruction.
-
Florian Schmaus authored
This should, at least for the EXIT_SUCCESS case, fix #14.
-