Рассмотрено два алгоритма поиска максимума и минимума в скользящем окне.
В однои из алгоритмов используется приоритентная очередь smoothWindowUsePriorityQueeu
, в другом наивая реализация поиска smoothWindowPrimitiveImplementation
.
Проведены тесты производительности алгоритмов для случаев:
- размер окна остаётся постоянным (6 отсчётов), объём данных изменяется;
- объём данных фиксирован (выборка 4096), размер окна изменяется.
Пример результата производительности для случая 1.
Размер выборки | smoothWindowUsePriorityQueeu, мкс | smoothWindowPrimitiveImplementation, мкс |
---|---|---|
8 | 9.56 | 0.968 |
16 | 32.2 | 3.51 |
32 | 79.1 | 8.94 |
64 | 173 | 21.0 |
128 | 388 | 44.0 |
256 | 737 | 84.5 |
512 | 1831 | 172 |
1024 | 3029 | 346 |
2048 | 6066 | 704 |
4096 | 12163 | 1385 |
8192 | 24532 | 2880 |
16384 | 49605 | 5660 |
32768 | 95639 | 11111 |
Пример результата производительности для случая 2.
Размер окна | smoothWindowUsePriorityQueeu, мкс | smoothWindowPrimitiveImplementation, мкс |
---|---|---|
8 | 14191 | 1550 |
16 | 24138 | 2054 |
32 | 41785 | 2870 |
64 | 78746 | 4253 |
128 | 15083 | 6911 |