2008-08-22 9 views
1

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

Есть ли готовые схемы кеширования, на которых я мог бы взять некоторые идеи?

ответ

1

Хотя я, очевидно, не могу говорить о специфике вашего приложения, в большинстве случаев вы не должны привязывать свою реализацию кэширования к некоторому ожидаемому ожиданию того, как GC будет работать. Как упоминает Stu, вызов GC.Collect() заставит коллекцию (с перегрузками для определенного поколения), но чаще всего это приведет к худшей производительности, чем просто позволить GC управлять собой.

Если вы обнаружите (после проведения реального тестирования производительности), что вам необходимо взаимодействовать с GC, убедитесь, что вы учитываете различные типы GC, которые в настоящее время имеют инфраструктура (см. here).