AGB  ·  Datenschutz  ·  Impressum  







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

wirklich große Zahlen unter Delphi

Ein Thema von Antigo · begonnen am 15. Aug 2006 · letzter Beitrag vom 16. Aug 2006
 
Benutzerbild von negaH
negaH

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

Re: wirklich große Zahlen unter Delphi

  Alt 15. Aug 2006, 22:43
Zitat:
Ich spiele mit dem Gedanken, eine Unit für komplexe Zahlen zu schreiben und dafür ebenfalls Interfaces zu verwenden...
Wie siehts aus bezüglich Overhead? Also wenn man ganze Matrizen voll mit solchen Interfaced Numbers verwendet...


Gute Frage, die ich mir damals auch gestellt habe Und jetzt weis ich die Antwort ganz genau.

Also im normalen Tagesgeschäft, rechnen mit sehr großen Zahlen, ist der Overhead minimal. Es ist sogar so, das ich NUR über die Interfaces auf einfachste Weise einen Speichermanager reinbauen konnte. Dieser ist optimiert auf die Bibliothek und bingt nun ca. 10% größerer Performance. Das heist die Interfaces beschleunigen sogar, weil mit ihnen mehr Features möglich sind

Wenn man aber 32-64Bit Rechnungen durchführt so wird dies meist langsammer sein als mit Int64 oder so. Das muß aber nicht immer so sein, zb. bestimmte Spezial-Algorithmen die in den IInteger enthalten sind wurden in mehere Implementierungen aufgeteilt. Dabei wird je nach Zahlengröße ein andere Algo. benutzt. Dieser Algo. ist dann spezialisiert auf Zahlen odedr Berechnungen m,it bestimmten Schranken. Das ist sehr oft der Fall. Nun, im DECMath sind einige 32-64 Bit Algortihmen drinnen die schneller sind als die RTL.

Bei den Interfaces gibts noch eines anzumerken. Ich bezeichne meine IInteger als "forged Interfaces", weil sie in ihrer Implementierung nicht auf TObject/TINterfacedObject basieren. Meine Interfaces sind stinknormal Records und die wichtigsten Interface Funktionen sind in ASM optimiert (Allozierung, FIFO Stack, Calculation Management).

Interfaces mit TInterfacedObject Implementierungen sind in ihren Aufrufkonventionen von Methoden ziemlich ineffizient.

In kurz: der Impakt der Interfaces ist sehr gering auf die Performance aber je nach Sprache und Funktionalität des Compilers eine weitreichende Entscheidung -> im DECMath eben Prozedurales Konzept mit überladenen Funktionen, sehr kurzen Funktionsnamen und sehr strikter Parametersignatur der Funktionen.


Gruß Hagen
  Mit Zitat antworten Zitat
 


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 15:02 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