Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
19. Feb 2014
Hmm. Die Berechnung an sich ist ja recht simpel und ändert sich eigentlich auch nie... Man könnte diese natürlich entsprechend auslagern. Aber sie findet ja nur genau zweimal statt...
Trotzdem Danke!
Alex
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
19. Feb 2014
Guter Einwand :lol:. Danke, das war's.... Jetzt sieht das Ganze viel kompakter aus:
glbMatrix.pas.128: P(UInt64(FMMFPtr) + (Y * FCountX + X) * SizeOf(T))^ := Value;
0000000000759DA4 488B4510 mov rax,
0000000000759DA8 488B4018 mov rax,
0000000000759DAC 488B4D10 mov rcx,
0000000000759DB0 8B5518 mov edx,
0000000000759DB3 0FAF5108 imul edx,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
19. Feb 2014
Die sind natürlich deaktiviert ({$R-}). Das ändert aber nichts daran, dass der vom Compiler erzeugte Assembler-Code nach jeder Operation eine Prüfung durchführt:
glbMatrix.pas.126: P(UInt64(FMMFPtr) + (Y * FCountX + X) * SizeOf(T))^ := Value;
0000000000759DD8 488B4D30 mov rcx,
0000000000759DDC 488B5530 mov rdx,
0000000000759DE0 8B4538 mov eax,
0000000000759DE3...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
19. Feb 2014
Hallo zusammen,
ich habe noch eine Frage zu dem Thema Memory Mapped Files. Ich habe mir ein Objekt gebaut, um die verschiedenen Matrizen im MMF zu bearbeiten. Das funktioniert echt super. Ich kann den Speicher von/zu Platte streamen und auf die diversen Elemente zugreifen. Ich möchte nun das Ganzen noch etwas tunen, da ich wie gesagt teilweise sehr viele Zugriffe habe. Speziell beim Lösen von...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
6. Feb 2014
Hi Leute,
weiß jemand wie ich die "offene Frage" schließen kann??
Alex
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
6. Feb 2014
Hallo zusammen,
das mit den MMFs ist die Lösung. Habe gerade mal etwas gegoogelt. Scheint wie gemacht für diese Problem zu sein. Anstelle der Position im Stream rechne ich mir halt den Pointer aus... Brauche dann nur noch Funktionen zum Laden und speichern des MMFs auf Platte.
VIELEN DANK :thumb:
Alex
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by BigAl,
6. Feb 2014
Hallo zusammen,
derzeit entwickle ich ein Programm welches unter anderem Berechnungen mit großen Matrizen durchführen muss. Wenn ich groß sage, dann meine ich richtig groß. Im Endstadium werden die Teile bis ca. 400 GB groß. Derzeit lege ich kleiner Matrizen in den Speicher (TMemoryStream) und größere auf die Platte (TFileStream). Der Plattenzugriff ist natürlich trotz schneller SSDs...