Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#2

Re: Findfirst/Findnext in Assembler

  Alt 15. Sep 2003, 10:51
Warum benötigst du dies in Assembler ?
Jeder Compiler wie Delphi/C wird genau so guten Assembler compilieren wie der Mensch. Das liegt daran das bei einer FindFirst()/FindNext() Schleife du nicht viele Möglichkeiten hast durch manuellen Assembler was zu verbessern. Erzeuge einen Delphi Source, compiliere ihn, setze Breakpoint auf erste Quelltestzeile, starte dann Anwendung. Wenn am Breakpoint gehalten wird öffne den CPU View der IDE und nun kannste dir den Machinencode anschauen. Du wirst sehen das eine FindFirst() FindNext() Schleife fast nur aus CALL's zu API Funktionen besteht. Somit wird die Performance dieser Schleife fast nur durchs API bestimmt. Da du auch in Assembler diese CALL's nutzen musst bringt dieser keiner bessere Performance.

Zudem, in Delphi/C kannste mit geschützen Codeblöcken arbeiten, sprich try finally usw. Das geht auch in Assembler aber du kannst dann nicht mehr so einfach die try finally's vom Delphi benutzen. D.h. in Deinem Beispiel bingt Assembler keine Vorteile, nur Nachteile bei der Wartung der Source.

Gruß Hagen
  Mit Zitat antworten Zitat