Это общий алгоритмный вопрос, но моей основной средой является Matlab.Избегайте повторного вызова моделирования/функции с теми же аргументами
У меня есть функция
OUT = F (arg1, arg2 ,, .....)
, который занимает много времени, чтобы выполнить и является дорогостоящим для вычисления (то есть время, кластер). Данным аргументом argn может быть строка, целое число, вектор и даже дескриптор функции.
По этой причине я хочу избежать вызова f (args) для тех же значений аргументов. Внутри моей программы это может происходить способами, которые не обязательно контролируются программистом.
Итак, я хочу вызвать f() один раз для каждого возможного значения args и сохранить результаты на диске. Затем, когда он вызывается в следующий раз, проверьте, есть ли в данный момент результат для этих значений аргументов. Если это так, я бы загрузил его с диска.
Моя нынешняя идея - создать переменную ячейки с одной строкой для каждого вызова функции. В первом столбце отсутствует. В столбце 2: N - значения argn и проверяют эквивалентность каждого отдельно.
Поскольку переменные типы аргументов меняются, как бы я это сделал?
Есть ли лучший алгоритм?
В целом, как люди справляются с сохранением результатов моделирования на диске и хранением метаданных? (Кроме зубрежки все в имя файла!)
Одним словом, вы пытаетесь реализовать мемонирование. – Jommy
Спасибо. Одно ключевое слово помогло моему поиску безмерно! –