Я использую онлайн-программное обеспечение для анализа данных, которое вычисляет множество индикаторов на основе набора данных на основе времени. Поскольку этот набор данных становится больше, отображение индикаторов для конечного пользователя занимает все больше времени, особенно потому, что мы пересчитываем каждый раз прошлые показатели для целей сравнения.
Пример: у меня есть индикатор, показывающий среднюю фиксированную цену / квадратный метр в Париже за месяц, и я показываю пользователю данные текущего месяца (апрель 2020) и предыдущих завершенных месяцев (март, февраль, январь, ...)
Это крайне неэффективно, поскольку вычисленные данные за прошедшие месяцы не меняются, поэтому я бы хотел их кэшировать в отдельную таблицу данных.
Проблема, с которой я сталкиваюсь: Я хотел бы сделать эти кэши недействительными, если изменился файл кода сборки / специфика c, ie. метод расчета индикатора .
Из приведенного выше примера, если я сейчас решу удалить верхние / нижние 10% цены из расчета средней цены, все предыдущие расчеты цен за прошедшие месяцы больше не будут действительны для сравнения цен, они должны быть пересчитал
Я пытался использовать версии кода, но я часто забываю изменить его перед публикацией (и я не хочу go для автоматического контроля версий).
Так что я ищу что-то вроде ха sh из файлов сборки:
- файлы с похожим кодом => тот же ха sh => нет повторного вычисления
- код имеет изменено (общие или выделенные файлы) => ха sh изменилось => требуется перерасчет.
Я думаю, Git использует нечто похожее для поиска изменений в репо.
Программное обеспечение построено с использованием Asp. Net Core.
Спасибо за помощь