Допустим, у меня есть входные данные каждую миллисекунду.
Через 5 секунд я хочу вывести значения MAX и MIN последнего временного окна в 5 секунд.
Какой будет самый быстрый способ сравнения частых целочисленных входных данных? Я поставил очень простой пример. Плохо ли вообще использовать что-то подобное? Есть ли более быстрый способ, но без использования массива для буферизации?
myMainFuntion() {
int static currentMIN = 30000; // Just initialize to a value that will never be output by getSensorData
int static currentMAX = 0;
int static acquisition_counter = 0;
a = getSensorData() // called each 1 ms
if (a > currentMAX) {
currentMAX = a;
}
if (a < currentMIN) {
currentMIN = a;
}
acquisition_counter++;
if (acquisition_counter == 5000) {
output(MAX);
output(MIN);
}
}