Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
Delphi XE2 Professional
|
Re: DoubleSource - Duplikate im Source finden v0.3.1
12. Mär 2008, 13:09
Ich hab gestern ein paar Tests mit Objekt-Pools gemacht -> bringt eigentlich nichts!
Konkret hab ich die NewInstance-Methode von TObject so überschrieben, dass der Speicherbereich für zB 10.000 Instanzen reserviert wird. Wenn nun ein Objekt erzeugt wird und noch Platz in diesem Block frei ist wird dem Objekt dieser Platz zugeordnet. Ist kein Platz mehr frei wird ein neuer Block/Pool angelegt. Dadurch wird die Anzahl der Speicherreservierungen drastisch reduziert.
Ich hab dann in einer Schleife 10.000.000 Instanzen erzeugt, einmal normale Objekte, einmal von meiner Pool-Klasse. Ergebnis: es ist eigentlich kein Unterschied messbar! Möglicherweise ist die Pool-Variante geringfügig schneller, aber wenn die Gesamtlaufzeit ~2 Sekunden dauert machen ein paar ms auch keinen Unterschied mehr.
Ich hatte gestern aber eine andere Idee mit der ich den Speicherverbrauch geringfügig senken und die Laufzeit um das bis zu 6-fache beschleunigen konnte.
Gruß, Motzi
Manuel Pöter
|