Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Frage zu FastMM (https://www.delphipraxis.net/57172-frage-zu-fastmm.html)

HeikoAdams 16. Nov 2005 19:20


Frage zu FastMM
 
Hallo,
bei uns in der Firma setzen wir Delphi 5 Enterprise ein.
Mich würde interessieren, ob sich der Einsatz von FastMM für die Delphi 5 IDE lohnt.

Gruß

Heiko

himitsu 16. Nov 2005 20:20

Re: Frage zu FastMM
 
Funktionieren sollte es.

Es kommt aber darauf an, bei was für einem Programm ihr das einsetzten wollt.


Eventuell soltest du dir mal hier einige Beiträge durchlesen.

Hier im Forum suchenFastMM
z.B. diesen: FastMM grotten langsam ?!

HeikoAdams 16. Nov 2005 20:50

Re: Frage zu FastMM
 
Hallo,
wir setzen Delphi für die Entwicklung einer inzwischen 19 MB große Verwaltungssoftware für das Speditionsgewerbe ein.

himitsu 16. Nov 2005 23:51

Re: Frage zu FastMM
 
Nun ja, es kommt weniger auf die Größe des verbrauchten RAMs ah, sondern viel mehr auf die Menge der Speicheroperationen (GerMem, FreeMem und vorallem von ReallocMem).

Wie du vieleicht in dem vorher erwähnten Tread bemerkt hast, so ist FastMM nicht immer schneller.
Mehr Speicher wird ebenfalls belegt.

Und der hauptsächliche geschwindigkeisvorteil tritt ebenfalls "nur" in einem bestimmten Bereich auf, vorallem bei ReallocMem mit einer maximalen Größenänerung von 30% (pro Speicherblock und Änderungsoperation) und dann noch bei Speicherblöcken mit einer Größe von weniger als 2 KB.

Zwischen 2 KB und 0,25 MB ist das Speicherverhalten ähnlich wie das von Delphi's Speichermanager.
Oberhalb von 0,25 MB liegt der Hauptteil der Speicherverwaltung bei Windows, was sich so wohl positiv, als auch negativ auswirken kann.
Natürlich nicht unter vollständiger Berücksichtigung von ReallocMem, welches ja unter Umständen das Verhalten stark beeinflußen kann.

Auf Grund einer leicht geänderten Verwaltung innerhalb der SmallBlocks dürfte aber mein MM zumindestens bei Speicherblöcken von weniger als 2 KB etwas schneller sein, als FastMM ... andere Änderungen fürften vorerst kaum etwas am Tempo verändern.


Im Endefekt kann man nicht genau sagen wie sich welcher Memory Manager in Verbindung mit einem bestmmten Programm verhält ... man kann es also nur selber mal austesten.


!!! Oben angegebene Größenangaben beziehen sich auf mein eigenes MastXMM, wobei die Werte für FastMM keine sehr großen Abweichungen davon haben werden.

negaH 17. Nov 2005 05:49

Re: Frage zu FastMM
 
Schau dir denoch mal diese Seite an http://dennishomepage.gugs-cats.dk/m...rChallenge.htm.
Da befassen sich echte Profis mit dem Stoff und zeigen das neben FastMM auch noch andere Alternativen existieren.
Die Resultate zeigen das FastMM4 über einen weiten Bereich der CPUs ca. 2 mal schneller sein sollte. Ansonsten empfehle ich dir die Borland BASM NewsGroup, dort werden die MMs intensiv diskutiert.

Ich bin allerdings sehr skeptisch was wohl an den verwendeten Methoden zur Ermittlung der wahren Performance liegt. Selbst wenn FastMM4 durchschnittlich 2 mal schneller sein sollte, so ist er auf Grund seines Konzeptes im realen Speicherverbrauch ca. 3 mal schlechter als der Borland MM. Nun kann man sich fragen 3 mal mehr Speicherverschwendung und nur 2 mal schneller ? Diese Frage ist aus meiner Sicht ein ganz wesentliches Merkmal der "Performance". Denn sie führt zum zweiten Fehler des Projektes "wie kann man einen MM entwerfen der auf allen möglichen Anwendungen gleichgut läuft ?". Tja und da reichen die Benchmarks aller Tests nicht aus um ein wirklich realistisches Bild zu ergeben. Die EINZIGSTE reale Alternative ist eine Erfahrung von über 15 Jahren Entwicklung eines MMs in Milllionen von verschiedenen Softwares. Und DIESE Erfahrung kann nur der Borland MM aufweisen !

Im Endeffekt sehe ich folgendes Bild:
Borland MM nutzt den zur Verfügung stehen Speicher bis zu 3 mal besser als seine Konkurrenten
Borland MM ist dabei nur 2 mal langsammer
Borland MM ist in weiten Bereichen vorhersagbar immer optimal-suboptimal
viele seiner Konkurrenten sind aber in einigen wichtigen Bereichen eine Performancebremse.

Ich sags wie es ist: schaue in eine Anwednung wo das wahre Performanceproblem liegt und optimiere erstmal TopDown dessen Algorithmus. Erst am Schluß benutzt man dann eine eigene Speicherverwaltung speziell aufdas Problem zugeschnitten. Nur das kann dann wirklich importante Verbesserungen bringen.

In meiner IInteger Library bin ich exakt soovorgegangen. Und statt nur in 30% aller Fälle eine Optimierung zu erhalten habe ich dadurch in 100000% aller Fälle eine Optimierung erreicht ! Das funktioniert dann aber nur auf ein spezielles Problem bezogen, zeigt aber in der Gesamtperformance der jeweiligen Anwendung drastische Verbesserungen die der Anwender auch wirklich bemerken kann.


Gruß Hagen

HeikoAdams 17. Nov 2005 07:17

Re: Frage zu FastMM
 
Hallo,
danke für die Antworten. Allerdings sind wir irgendwie von der eigentlichen Frage abgekommen. Ich wollte ursprünglich nur wissen, ob sich FastMM positiv auf die Performance von der Delphi IDE auswirkt. Wir haben z.B. öfters das Problem, das Delphi 5 beim Scrollen durch Sourcecode kurzzeitig und ohne ersichtlichen Grund hängt.

Bernhard Geyer 17. Nov 2005 07:58

Re: Frage zu FastMM
 
Zitat:

Zitat von HeikoAdams
Wir haben z.B. öfters das Problem, das Delphi 5 beim Scrollen durch Sourcecode kurzzeitig und ohne ersichtlichen Grund hängt.

Habt ihr evtl. viele zusätzliche Source-Pfade in der IDE eingetragen und diese liegen auf einem Netzlaufwerk?
Wir haben eine Trick gemacht alle Sourcedateien nochmals in einem "Cache-Verzeichnis" zu legen und diesen dann als erster in die Suchliste eingetragen. Das Problem ist eher das Delphi versucht immer wieder die geused Dateien neu einzulesen bzw. zu kompilieren und da bei vielen Suchpfaden evtl. länger benötigt.

Und zu FastMM4 in der Anwendung:
Wir musten zwangsweise FastMM einsetzen da der BorlandMM bei größeren Aktionen mit einer Oracle-Datenbank ein interne Fragmentierung seiner Verwaltung erlitten hat und trotz nur 400 MB Speicherverbrauch (Taskmanager) einen Fehler gebracht hat das keine Speicher mehr verfügbar wäre. Performance hat es wenig gebracht da die Datenbank sehr DB-Lastig ist und primär dort die "Rechenzeit" verbraten wird.

himitsu 17. Nov 2005 17:15

Re: Frage zu FastMM
 
Zitat:

Zitat von HeikoAdams
Ich wollte ursprünglich nur wissen, ob sich FastMM positiv auf die Performance von der Delphi IDE auswirkt.

Oftmals ja, aber es kann auch gut sein, daß sich kaum was ändert, oder sich sogar alles verschlechtert (siehe oben erwähnter Beitrag).

Zitat:

Zitat von HeikoAdams
Wir haben z.B. öfters das Problem, das Delphi 5 beim Scrollen durch Sourcecode kurzzeitig und ohne ersichtlichen Grund hängt.

Sowas wird wohl nicht am verwendeten MM liegen, da dieser ja erst beim Betrieb des erstellten Programms aktiv wird.
Auf Delphi selber (z.B. das Scrollen im Sourcecode) hat es demnach ja keine Auswirkungen.


@Bernhard Geyer:
Sowas kenn ich irgendwie och ... bei mir was es sogar so, daß ich als tatsächlichen Speicherverbrauch nur knapp 250 MB hatte, der BorlandMM aber über 1 GB belegte (laut Taskmanager) und ich nach 'ner Weile ebenfalls ein OutOfMemory erhielt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz