Алгоритм расчёта оставшегося времени выполнения операции? Всем привет.
Есть некая длительная (и не очень) операция, будь-то выполнение кода или загрузка файлов (без разницы).
В общем нужно как-то рассчитать оставшееся время выполнения операции.
Я беру данные за последние 30 секунд и на их основе считаю оставшееся время.
Вроде бы всё сделал, но скорость выполнения не постоянна и постоянно меняется, отсюда и оставшееся время постоянно скачет.
Теперь осталось как-то сгладить эти колебания, но никак не могу придумать - как это сделать.
Мо ж кто подскажет?

21 Авг 2019 в 06:21
264 +1
0
Ответы
1

Для сглаживания колебаний и более точного расчета оставшегося времени выполнения операции можно использовать метод скользящего среднего или экспоненциальное сглаживание.

Скользящее среднее: Этот метод предполагает усреднение значений за определенный период времени. Вы можете определить длину окна например,30секунднапример, 30 секунднапример,30секунд и усреднить значения скорости выполнения операции за это время. Это поможет уменьшить влияние колебаний и более точно оценить оставшееся время.

Экспоненциальное сглаживание: Этот метод также помогает усреднить значения, причем новые значения имеют больший вес, чем более старые. Это позволяет более чувствительно реагировать на изменения скорости выполнения операции и точнее прогнозировать оставшееся время.

Выбор конкретного метода зависит от ваших требований к точности и чувствительности алгоритма. Попробуйте реализовать один из этих методов и посмотрите, как он поможет улучшить расчет оставшегося времени выполнения операции.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир