AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interrupt 21

Ein Thema von Dr_C · begonnen am 14. Jul 2003 · letzter Beitrag vom 15. Jul 2003
Antwort Antwort
Dr_C

Registriert seit: 13. Jul 2003
6 Beiträge
 
#1

Interrupt 21

  Alt 14. Jul 2003, 23:44
Hi
DOS Interrupt 21 :
Ist er noch unter win 2000/XP verfügbar ? Hauptsächlich geht um dateien
lesen-schreiben .

Wenn nicht , dann wie kann ich es anders in assembler machen .
Es geht mir um geschwindichkeit , da ich große log-dateien durchsuche , und von ergebnis hängt es ab in welche datei es gespeichert wird.

Wenn ich das ergebnis in delphi-pascal noch mal auswerte wo es gespeichert sein soll ( in asm wird auch schon ausgewertet ) habe wieder geschwindichkeitsverluste .

Es geht um dateien mit ca 1-2 GigaByte .Ca 80% davon wird als 'gut' ausgewertet und auf bis zu 1000 dateien zerteilt wobei auch geprüft wird, ob die daten sind schon vorhanden sind oder nicht, damit es nicht alles doppelt und dreifach dinne steckt .

nochmal kurz was ich genau brauche :
a) datei lesen in buffer
b) buffer in datei schreiben

ich suche auch ein gutes buch über assembler-programierung unter delphi.

Mfg
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Interrupt 21

  Alt 15. Jul 2003, 00:10
Zitat von Dr_C:
Hi
DOS Interrupt 21 :
Ist er noch unter win 2000/XP verfügbar ? Hauptsächlich geht um dateien
lesen-schreiben .
Ja den gibt es noch. Er ist aber nur für reine DOS-Anwendungen nutzbar. Win NT/2000/XP bringt sofort eine "Priviligierte Anweisung" System-Exception.


Zitat:
Wenn ich das ergebnis in delphi-pascal noch mal auswerte wo es gespeichert sein soll ( in asm wird auch schon ausgewertet ) habe wieder geschwindichkeitsverluste .
Bist du dir sicher, dass die Assembler-Version schneller als der vom Compiler optimierte Code ist? Bei heutigen Prozessoren kann eine in ASM geschrieben Funktion um weiten hinter dem vom dcc32 erzeugten Code liegen.

Zitat:
a) datei lesen in buffer
b) buffer in datei schreiben
Du könntest ReadFile/WriteFile benutzen.


Zitat:
ich suche auch ein gutes buch über assembler-programierung unter delphi.
Wenn du schon Assembler kannst und nur die integration in Delphi kennenlernen willst, ist die Online Hilfe zum integrierten Assembler (wenn man sie wirklich Wort für Wort liest) sehr informativ. Das Kapitel "Aufrufkonventionen" verrät auch noch ein paar Einzelheiten.



Hast du den Code auch schon in Delphi "vorprogrammiert", bei dem du die Geschwindigkeitsprobleme festgestellt hast? Wenn ja, den kann man sicherlich um einiges optimieren. Dynamische Arrays und HugeStrings sowie TMemoryStream solltest du nicht gewöhnlich benutzen, wenn es um Geschwindigkeit geht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 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