Для проекта, над которым я работаю, есть ряд состояний, в которых можно рассчитывать, чтобы получить одинаковые результаты (и не иметь побочных эффектов).Очевидное решение состоит в том, чтобы использовать памятку для всех дорогостоящих функций.
Мне нужно иметь памятку, которая обрабатывает более одного состояния (чтобы я мог сделать недействительным один набор кешей, не аннулировав другой).Кто-нибудь знает хорошую библиотеку C для такого рода вещей?(Обратите внимание, что это не может быть C ++, мы говорим о C.)
Я работал с некоторыми хорошими реализациями в Python, которые используют декораторы, чтобы иметь возможность гибко запоминать множество различных функций.Мне немного интересно, есть ли универсальная библиотека, которая могла бы делать подобные вещи с C (хотя, вероятно, с явным переносом функций, а не с удобным синтаксисом).Я просто думаю, что было бы глупо добавлять кеширование к каждой функции по отдельности, когда это достаточно распространенная проблема, для этого должны быть готовые решения.
Характеристики, которые я бы искал, следующие::
- Может кэшировать функции с различными типами ввода и вывода
- Управляет несколькими различными кэшами (так что вы можете иметь краткосрочное и долгосрочное кэширование)
- Имеетхорошие функции для аннулирования кэшей
- Предназначен для использования для переноса функций вместо изменения существующих функций
Кто-нибудь знает реализацию C, которая может обрабатывать все или большинство этих реквизитов?