AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Mathem. Parser -- bitte testen
Thema durchsuchen
Ansicht
Themen-Optionen

Mathem. Parser -- bitte testen

Ein Thema von dizzy · begonnen am 23. Mai 2004 · letzter Beitrag vom 2. Okt 2013
Antwort Antwort
Seite 4 von 11   « Erste     234 56     Letzte »    
Benutzerbild von dizzy
dizzy
Registriert seit: 26. Nov 2003
Hi DPler!

Ich habe noch so einiges an meinem Parser (hier schon mal vorgestellt) verbessert/geändert.

Habe jetzt auch ein Testprogramm geschrieben. Es führt einige Rechnungen durch, und gibt eine kleine Statistik dazu aus. Folgende Infos von euch würden mich brennend interesieren:
  • welche Dephi-Version hast du?
  • läufts/compilierts damit?
  • sind die Ergebnisse im Testprog korrekt?
  • CPU-Typ + Realtakt
  • die Ergebnisse der Geschwindigkeitsmessung des Testprogs
  • ist die Implementierung hübsch und sauber? (keine Leaks, styleguidekonform, verwendete Techniken...)
    (in CQParser.pas bzw. der QMath(2).pas - nicht das Testprog. Das ist fix zusammengeschustert )
  • hälst du den Parser für sinnvoll/einsetzbar?
  • Verbesserungs- und/oder Verschönerungs- und/oder Verschnellerungsvorschläge?
Wer Lust hat, der kann ihn sehr gerne komplett auseinandernehmen und kaputttesten. Ich will alles wissen *g*.

Ich erwarte sicherlich nicht von jedem alles beantwortet. Mir geht es hauptsächlich darum zu sehen mit welchen D-Versionen und CPUs der Parser korrekt arbeitet, und wie schnell er es tut (im Vergleich zu einer hardgecodeten Rechnung).

Tipp für die D8-User: Es gibt die Units "QMath" und "QMath2". Ändert im QT des Parsers und des Testprogramms in der uses-Klausel "QMath" auf "QMath2", weil "QMath" verwendet z.T. Assembler. Ich hoffe dass D8 die ganzen Casts zulässt . Wenn nicht, dann schreit!

Ihr würdet mir einen Riesen-Gefallen tun!

Danke euch schonmal im Voraus,
MfG - dizzy


\\div. Edits: Ein paar Umformulierungen - nix wildes...
Angehängte Dateien
Dateityp: zip cqparser.zip (17,9 KB, 580x aufgerufen)
INSERT INTO HandVonFreundin SELECT * FROM Himmel
 
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#31
  Alt 23. Mai 2004, 21:18
Das ist in der Tat etwas seltsam... Eventuell liegt es an deiner CPU/MoBo. Die Dauer wird mittels des vom BIOS geführten Clock-Counter ermittelt (ich glaube die Routine ist von Hagen hier...).
Wenn deine CPU ein Intel ist, und mein Glaube richtig ist, dann schaltet der vielleicht zwischen verschiedenen Geschwindigkeiten hin und her, je nach Temperatur. Die Taktrate wird aber nur ein Mal pro Messbeginn vor jedem Modus-Test ermittelt, und für die gesamte Messdauer angenommen. Wenn während der Messung also die CPU switchet, das BIOS aber den Ursprungstakt weiterzählt, dann kann es da tatsächlich zu Unterschieden kommen
Das wäre natürlich schade - wobei das Verhältnis der Werte zueinander ja durchaus im Rahmen bleibt.

Kann sonst noch jemand diesen Eindruck bestätigen? Mit CPU/Chipsatz/BIOS-Angbe evtl.
Wäre ja auch mal generell interesant!


gruss,
dizzy
Fabian K.
  Mit Zitat antworten Zitat
gekmihesg
 
#32
  Alt 23. Mai 2004, 21:58
lol! pentium II 350Mhz 196MB

5416,54
8829,13
20140,3
65871



is aber recht viel nebenher gelaufen... kann auch daran liegen... werds aber jetzt nicht schließen!
  Mit Zitat antworten Zitat
Alexander

 
Turbo Delphi für .NET
 
#33
  Alt 24. Mai 2004, 16:59
AMD Athlon 2500+, müssten so um die 2000 Mhz sein.
Delphi 7 ohne Probleme
Ergebnis siehe Anhang
Miniaturansicht angehängter Grafiken
parser.jpg  
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#34
  Alt 24. Mai 2004, 17:05
Irgendwie kann ich das Teil nicht kompilieren:
Zitat von QMath:
[Error] QMath.pas(110): Undeclared identifier: 'x'

Delphi-Quellcode:
procedure Quat2Comp(const Q : TQuat; var C1, C2 : TComplex);
asm
  fld Q.x; // <- Zeile 110
Michael
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

 
Delphi 2010 Professional
 
#35
  Alt 24. Mai 2004, 17:08
Komisch, mit meinem Delphi 6 Personal ging es anstandslos...

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Alexander

 
Turbo Delphi für .NET
 
#36
  Alt 24. Mai 2004, 17:12
Achso kannst du für Dumme den Code nochmal kommentieren ?
Mich interessiert dieses Thema nämlich sehr
Und ich kann überhaupt kein Assembler und habe keine Zeit mich in Assembler einzuarbeiten . Daher steige ich da nicht so durch...
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#37
  Alt 24. Mai 2004, 19:36
Zitat von Luckie:
Irgendwie kann ich das Teil nicht kompilieren:
Zitat von QMath:
[Error] QMath.pas(110): Undeclared identifier: 'x'

Delphi-Quellcode:
procedure Quat2Comp(const Q : TQuat; var C1, C2 : TComplex);
asm
  fld Q.x; // <- Zeile 110
Tja, das ist der selbe Schmarn wie bei Christian
Ich hab echt keine Ahnung, was das soll. Mirage konnte es mit D6 ja ohne Probs kompostieren (btw: danke Robert_G für dieses Wort!) Ob Borland da innerhalb ein und der selben Version etwas grundlegendes geändert hat
Das Problem könnte aber mit der Zeit verschwinden, da ich plane, wenn der Parser mal so weit fertig ist, ihn in eine DLL zu verpacken. Dann braucht keiner mehr zu kompilieren

@Alex: ...uhmm, ich werd's mal versuchen! (Ob ich DA noch durchsteige *g*) Was die Assemblerteile angeht: (Mehr als da benutzt kann ich auch nicht ) und in "QMath2.pas" sind exakt die selben Funktionen nochmal in DL-Klartext.
Aber stimmt... da müssen auf jeden Fall noch ein paar mehr Kommentare rein. Sonst blicke ich das Teil in 1/2 Jahr selber nicht mehr. Sind ein paar Kniffe drin
(Dürfen die Kommentare auch englisch sein? Ich mach's immer lieber glech international *g*)

\\edit: btw:
AMD 2500+ Real: 1833 MHz
AMD 3000+ Real: 2167 MHz (hab ich fast, da FSB auf 195MHz getuned 200 ging net mehr... )
Fabian K.
  Mit Zitat antworten Zitat
Robert_G
 
#38
  Alt 24. Mai 2004, 19:38
Da ich heute wohl kein MoBo mehr kriege habe ich deinen Parser an meinem Rechner (und dem eines bemitleidenswerten Kollegen ) im Büro getestet:


AMD mit 1,737 Ghz (512MB 0815 Infineon RAM 167Mhz)
---------------------------
Cqtest
---------------------------
Test1: 1737265161
---------------------------
OK
---------------------------
1037.93
1642.14
4074.47
7706.28

Intel P4e mit 2,992 Ghz (HT aktiviert, interessiert die Testapp aber natürlich nicht )
(1GB 0815 Infineon RAM 200Mhz)
---------------------------
Cqtest
---------------------------
Test1: 54376471
---------------------------
OK
---------------------------
44415.3
78103.4
192749
395425

Ich habe bei beiden Systemen die Zeiten eingetragen, danach habe ich mir einfach jeweils vor der Berechnung die CPUFrequenz per ShowMessage anzeigen lassen.
Bei jedem Test wurde auf dem jeweiligen System der gleiche Wert gefunden.

Mich interessiert dabei nur eins, seit wann hat eine 1,7ghz Möhre eine 32-mal höhere Taktfrequenz als ein 3Ghz P4???
Fazit: Deine App mag den P4 nicht und ich habe wohl doch keinen Quantencomputer.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#39
  Alt 24. Mai 2004, 19:41
Äh, wie ermittelst du die Zeiten? Mit GetTickCount wird das nichts. Da du dann auch die Zeiten mit misst, die dein Thread im Ruhezustand ist. Und wenn da noch ein paar Prozesse laufen, kann das schon mal etwas länger dauern, bis du wieder dran bist. Besser ist da schon GetThreadTimes. Eventuell wäre es auch sinnvoll die reinen Taktzyklen der CPU zu messemn, dann bist du systemunabhängig.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#40
  Alt 24. Mai 2004, 19:48
Zitat von Robert_G:
(HT aktiviert, interessiert die Testapp aber natürlich nicht )
Warum interessiert es ihn nicht!? Ich dachte immer HT sei sowas wie das AllSchnellMittel...

Zitat von Robert_G:
Mich interessiert dabei nur eins, seit wann hat eine 1,7ghz Möhre eine 32-mal höhere Taktfrequenz als ein 3Ghz P4???
Fazit: Deine App mag den P4 nicht und ich habe wohl doch keinen Quantencomputer.
[/quote]
DAS ist mal interessant! Es gibt jetzt 3 Möglichkeiten:
  • Die Performancemessung ist für den P4 nicht geeignet (Gruß an Hagen; von dem ist die meine ich zu glauben )
  • Die asm-optimierten functions sind für nen P4 alles andere als optimiert (wie siehts mit der "QMath2.pas" aus? )
  • Intel hat Mist gebaut

Ich glaub, ich muss mir doch mal bei Zeiten nen P4 zulegen. Allein schon für solche Tests *geldbörsegaaanzfesthalt*
Fabian K.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 11   « Erste     234 56     Letzte »    


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 05:30 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