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

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • lilstevie89

    lilstevie89

    25 Mart 2011
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007