Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Drastische Performanceeinbuße bei Linked List mit Object

  Alt 15. Mai 2007, 18:50
Danke für Deinen Vorschlag, aber:
pPrev und pNext müssen nicht mit nil initialisiert werden, denn sie werden ja gesetzt. Und temp brauch ich auch nicht. Denn das funktioniert schon, so wie ich es mache. Nur eben unglaublich langsam...

TFooBar ist ein Element der Liste (Knoten). Daneben gibt es noch Head und Tail. Head zeigt auf das erste, Tail auf das letzte Element.

Eine MRU-Liste wird beim Caching verwendet: Sobald ein Element aus dem Cache verwendet wird, kommt es nach vorne. Neue Elemente, die geladen werden müssen, kommen auch nach vorne.

Wenn der Cache voll ist, schmeisst man vom 'Tail' ein paar Elemente weg, denn die sind naturgemäß längere Zeit nicht verwendet worden. Eine ziemlich geile MRU-Queue mit 0-Zeitaufwand... Ich hab das schon 1000x implementiert u.A. in einem SQL-Server, aber:

Wieso dauert das hier so lang? Selbst in der CPU-Ansicht sind es nur 12 MOV-Befehle.... ick versteh's nicht.

Ach: es ist egal, wie viele Zeilen auskommentiert werden: Ohne die 4 Zeilen sind es 10ms, ist auch nur eine nicht auskommentiert, dauert das 25 SEKUNDEN!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat