Кто-нибудь знает какую-либо реализацию шаблонного кеша объектов?Общий кеш объектов
- Вы используете ключ, чтобы найти объект (такой же, как и в станд :: Карта <>)
- Можно указать максимальное количество объектов, которые могут находиться в кэше в то же время
- Есть средства для создания объекта не найден в кэше
- Есть средства, чтобы знать, когда объект отбрасывается из кэша
Например:
typedef cache<int, MyObj*> MyCache;
MyCache oCache;
oCache.SetSize(1);
oCache.Insert(make_pair(1, new MyObj());
oCache.Touch(1);
MyObj* oldObj = oCache.Delete(1);
...
Это может быть так же просто, как кеш LRU или MRU.
Любые предложения приветствуются!
Nic
Что делать, если (повторное) создание объекта происходит намного медленнее, чем поиск ключа-> значения? Не каждый конструктор является «главным образом инициализацией памяти». – moswald 2008-09-23 22:10:29
Я понимаю, почему downvote: я не отвечаю. Итак, я пытаюсь его получить: Теперь MMU будет отмечать память, содержащую неработающие кешированные объекты, как низкоуровневые, поэтому кандидат должен быть отправлен в файл-страницу на жестком диске ... при условии, что есть HDD. Таким образом, повторное извлечение отсутствующего кэшированного объекта с жесткого диска, iso running code для воссоздания объекта, будет только в очень громоздком множестве обстоятельств «правильным». @Nicolas: Каковы ваши конкретные обстоятельства? – jpinto3912 2010-06-22 19:55:59