SORU
23 Mart 2010, Salı


LRU önbellek tasarımı

Son zamanlarda en az Kullanılan (LRU) Önbellekte en son kullanılan öğeleri ilk atmak. Nasıl böyle bir önbellek sınıf tasarım uygulamak mı? Tasarım gereksinimleri aşağıdaki gibidir:

1) öğe elimizden geldiğince hızlı bir şekilde bulabilirsiniz

2) bir önbellek özlüyor ve bir önbellek dolduğunda, son zamanlarda en az kullanılan madde mümkün olduğunca hızlı bir şekilde değiştirmemiz gerekiyor.

Nasıl ve desen açısından bu soru analiz uygulamak ve tasarımı algoritma?

CEVAP
23 Mart 2010, Salı


Bağlantılı liste işaretçileri karma tablo düğümleri bağlantılı bir listesi LRU önbelleğe uygulamak için her zamanki gibi. Bu(1) işlem (nezih bir karma varsayarak) O verir. Bu avantajı (O(1)): sadece tüm yapı kilitleyerek çok iş parçacıklı bir sürümünü yapabilirsiniz. Granül vb kilitleme hakkında endişelenmenize gerek yok.

Kısaca, çalışma şekli:

Bir değeri bir erişim, başı bağlı listeden ilgili düğüm taşıyın.

Önbellekten bir değer çıkarmak için ihtiyacınız olduğunda, kuyruk ucundan çıkarın.

Önbellek için bir değer eklediğinizde, sadece bağlantılı liste başında yer.

Burada C bir uygulama ile site doublep sayesinde: Miscellaneous Container Templates.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • MVLV28

    MVLV28

    17 Mart 2008
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006