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 2 von 11     12 34     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, 584x aufgerufen)
INSERT INTO HandVonFreundin SELECT * FROM Himmel
 
Christian Seehase

 
Delphi 11 Alexandria
 
#11
  Alt 23. Mai 2004, 14:37
Moin Dizzy,

das ist bei mir herausgekommen:

P4 2,4 / 512MB / W2K SP4

Delphi 5 Pro:
  • Sign fehlt
    als Kommentar angegebenen Workaround verwendet
  • PDOUBLE
    Als ^double deklariert
  • Coth
    ersetzt durch := 1
  • SameValue fehlt
    Workaround:
    if Abs(ex.x-2) <= 0.0000000001 then
  • Unit Variants aus den Uses entfert

Ergebnisse:
1092
2489,66
4773,94
9162,88

Delphi 6 Personal:
  • Die Prozeduren/Funktionen
    Quat2Comp, Comp2Quat, AddC, MulC, SqrC, SqrQ, MulQ, AddQ, SubQ, AbsQ
    zusätzlich mit Begin/end versehen, da ansonsten die Recordfelder (z.B. x)
    nicht erkannt wurden.

Ergebnisse:
1042,16
2022,38
Abbruch mit Access Violation bei Aufruf von:
Delphi-Quellcode:
procedure TCQParser.Solve(var result: TComplex);
//...
    nfComplex : result := FRootC.Solve;
//...
end;
Delphi 7 Personal:

Ergebnisse:
1050,68
2022,64
4732,55
9164,42
  Mit Zitat antworten Zitat
ripper8472
 
#12
  Alt 23. Mai 2004, 15:00
Delphi 5 Enterprise

W2K SP 4
AMD Athlon C 1.4 GHz
384 MB SD-RAM

coth(x) hab ich als cosh(x)/sinh(x) deklariert
sonst wie Christian Seehase

1415,23
2419,79
5364,23
10927,1
Christoph
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#13
  Alt 23. Mai 2004, 15:21
Hallö!

Ja schon mal gaaaanz herzlichen Dank für die Testerei! Das hat mir schon mal deutlich weitergeholfen!

Zitat von fkerber:
Hi!
  • D7 Personal
  • Lässt sich kompilieren und läuft einwandfrei
  • Ergebnisse sind korrekt
  • P IV 2,4 GHz
  • von oben nach unten: 1407,72 | 1966,5 | 5002,71 | 9479,05
Das ist ja n Ding. Ich hab einen AMD mit Realtakt 2.16 GHz, und der ist deutlich schneller... Ich glaube ich steige nächstes Upgrade doch nicht auf Intel um

@Mirilin: Cool, D6 geht auch *puh*. Aber auch bei dir: Was ist mit der angeblichen Intel-Performance!?

@axelf98: Nun gut... mit 900MHz dürfte man keine allzu großen Höhenflüge in Sachen Speed erwarten (Aber gut zu wissen, dass auch ein P3 damit klar kommt!)

@ibp: Sind das wirklich die Werte? Sind in ms. Sagt dir dein subjektiven Empfinden die selbe Dauer? Dann hast du definitiv irgendwo was ganz ganz heftiges im Hintergrund laufen, oder du solltest mal im BIOS ein paar Schalter drehen
Das sind heftige Zeiten...
Und ein P2 geht auch. Subber! (Der ist ja sogar ziemlich fix! Sowas...)

@mirage228: Nun gut. D3 geht also nicht mehr. Dann kann ich also getrost behaupten, dass das Teil mit den Versionen 6 und 7 kompiliert, gell!?
Und was D8 angeht Ich hab befürchtet, dass die Casterei da Probleme macht... Das Errorlog liest sich ja grausam Und dass die Sachen mit "getmem" "freemem" nicht gehen, dass hätte ich mir auch denken können...
Nun, also ist das Teil nicht für D8 geeignet. Aber die "QMath2.pas" alleine sollte gehen

@Christian: Ui! D5 hat Probleme gemacht!? Schade... gut, den PDouble kann man verschmerzen. Dass Sign fehlt geht auch noch. Aber dass der Cotangens hyperbolicus nicht implementiert ist... Ich muss zugeben, ich habe keine große Lust den selber einzubauen... Naja sei's drum.
Aber Unit Variants!? Wo wie was!? Die muss sich eingeschmuggelt haben! Die gehört nicht rein. Sorry. (Ist aber nur im Testprog - der Parser ist clean *g*)
Haben auch andere das Problem mit D6? Ich kann es nicht nachvollziehen! Dass dann eine AV kommt, nachdem du begin..end eingefügt hast ist nachvollziehbar, da Delphi dann noch einiges um meinen asm-Code "herumdichtet" was so nicht erwartet wird. Tritt das Problem nur bei D6 Personal auf? Wenn - auch bei anderen?


Zitat von ripper8472:
coth(x) hab ich als cosh(x)/sinh(x) deklariert
na klar... Oh mann das ist einfach - stimmt ja Okay, dann muss man dort etwas fummeln. Danke für Test+Tipp!

Joooo, dann schon mal ganz dicken Dank an euch!
Weitere Kommentare und Ergebnisse sind ausdrücklich erwünscht!


MfG,
dizzy

\\edit: "ripper"-Quote angefügt
\\edit2: Au Backe... ich muss was an meiner Smiley-Sucht machen... Das ist ja nicht mahr schön...
Fabian K.
  Mit Zitat antworten Zitat
Christian Seehase

 
Delphi 11 Alexandria
 
#14
  Alt 23. Mai 2004, 15:33
Moin Dizzy,

die Unit Variants wird seit D6 automatisch mit eingebunden (warum auch immer).
Was die Begin/End Blöcke angeht: Ohne die hätte ich es nicht kompilieren können.
  Mit Zitat antworten Zitat
Nicolai1234

 
Turbo Delphi für Win32
 
#15
  Alt 23. Mai 2004, 16:13
Ich kann es nicht compilieren!
Delphi 6 Enterprise
Und ich habe begin und end eingefügt! Es ging beide male nicht!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#16
  Alt 23. Mai 2004, 16:19
Was gibt D denn für Fehlermeldungen aus bei dir?

Bei mirage ging's mit D6... Was hast du anders gemacht mirage!? Interessant auch, dass D5 scheinbar keine großen Schwierigkeiten macht, D6 aber um so mehr...
Fabian K.
  Mit Zitat antworten Zitat
Nicolai1234

 
Turbo Delphi für Win32
 
#17
  Alt 23. Mai 2004, 16:20
Sorry, ich habe nich gedacht beim schreiben!
Ich kann das Prgramm Compilieren, aber wenn ich auf START drücke, dann macht er garnichts mehr!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#18
  Alt 23. Mai 2004, 16:21
Oops, des ist schade. Könntest du mal Durchsteppen? Geht denn überhaupt die erste Berechnung? Die 2. sollte es auch tun. Wo hängt er sich weg?
Fabian K.
  Mit Zitat antworten Zitat
Nicolai1234

 
Turbo Delphi für Win32
 
#19
  Alt 23. Mai 2004, 16:25
Beim STarten werden die ersten beiden Edits rot und dann passiert garnichts mehr!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#20
  Alt 23. Mai 2004, 16:26
Sofort beide rot? Das ist komisch. Dann müsste es eigentlich an dem Testprogramm liegen, nicht am Parser ...glaube ich. Das ist sehr komisch... Ich bastel mal moch ein anderes Testprog zu morgen.
Fabian K.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 11     12 34     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 18:35 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