Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
abstract: reduced increased CPU consumption
Due to the fact that queue_state_fiber called box.ctrl.wait_r* every millisecond, the idle queue consumed more than 10% of CPU. The proposed solution makes calls to box.ctrl.wait_r* blocking until the read/write mode is changed. Thus, CPU consumption is reduced to about ~1%. Below is a performance comparison using a script `t/benchmark/multi_consumer_work.lua` whith params consumers-count = 650 and batch-size = 5000 on CPU AMD Ryzen 5 5600U. For comparison, consider three commits. The first column is commit (9ff105b) before implementing queue_state_fiber. The second column is commit (159a43d) before implementation of the described proposal. That is, queue_state_fiber calls box.ctrl.wait_r* every millisecond. The third column (offered) is the current offer, the box.ctrl.wait_r* blocking call. The data is given as an arithmetic mean of 25 measurement points: +───────────────+────────────+────────────+────────────+ | [time\commit] | 9ff105b | 159a43d | offered | +───────────────+────────────+────────────+────────────+ | fill queue | 8 197 452 | 8 567 415 | 8 751 545 | +───────────────+────────────+────────────+────────────+ | task confirm | 49 817 371 | 52 203 080 | 53 020 243 | +───────────────+────────────+────────────+────────────+ Final performance comparison as a percentage: +─────────────+──────────────────+──────────────────+─────────────────+ | % down | 9ff105b->159a43d | 159a43d->offered | 9ff105b->offered| +─────────────+──────────────────+──────────────────+─────────────────+ | fill queue | 4.513% down | 2.149% down | 6.759% down | +─────────────+──────────────────+──────────────────+─────────────────+ | task confirm| 4.788% down | 1.565% down | 6.429% down | +─────────────+──────────────────+──────────────────+─────────────────+ As a result, the proposed solution causes a decrease in performance for fill queue 2.149% and task confirm 1.565%. Closes #183
- Loading branch information