Привет, написал программу которая обрабатывает данные и выдает их.
Я хочу посчитать сколько программа делает в секунду и сделал так:
V = S / T
V - скрость
S - кол-во результатов
T - время
Результат похож на правду, но показывает он мне не текущую скорость, а так скажем среднюю производительность в секунду за все время, что то похожее на среднее арифметическое.
Есть идея сделать это так
Раз в секунду вычитать текущее кол-во от прошлого и это будет скорость?
Хочется решение без записывания истории, а какой-то формулой.
Скорость величина не постоянная, а динамическая м вы правы - на каждом участке, например, в 1с она может легко отличаться. Вам в любом случае придется хранить какую-то историю или собирать агрегаты в такой постановке. Историю модно потом очистить, а агрегаты оставить
Есть решение из компьютерной графики. Засекаешь время перед обработкой одной строки данных и после.
Допустим на 1 строку данных ушло 100 мс теперь делишь 1000 мс на 100мс и получаешь скорость 10 строк в секунду.
Результат можешь обновлять раз в секунду или реже.
это решение похоже на мой второй вариант, но он будет не точный, так как программа много поточна, и мне нужно понимать сколько она в целом выдает за секунду