Delphi-PRAXiS
Seite 1 von 11  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Mathem. Parser -- bitte testen (https://www.delphipraxis.net/22764-mathem-parser-bitte-testen.html)

dizzy 23. Mai 2004 03:08


Mathem. Parser -- bitte testen
 
Liste der Anhänge anzeigen (Anzahl: 1)
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 :mrgreen: )
  • hälst du den Parser für sinnvoll/einsetzbar?
  • Verbesserungs- und/oder Verschönerungs- und/oder Verschnellerungsvorschläge? :zwinker:
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 :roll:. 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...

fkerber 23. Mai 2004 09:03

Re: Mathem. Parser -- bitte testen
 
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

Ciao fkerber

Mirilin 23. Mai 2004 10:14

Re: Mathem. Parser -- bitte testen
 
:hi:

Delphi Version : D6 Pro
läuft problemlos
P4 2.53GHz
950.673 // 1955.96 // 4569.26 // 9236.61


mfg Tobias


ps. zum Rest später

axelf98 23. Mai 2004 11:09

Re: Mathem. Parser -- bitte testen
 
Läuft, aber recht langsam!

Delphi Version : D7 Pers
PIII 900 MHz
2217.17 // 3530.36 // 8301.3 // 17899

ibp 23. Mai 2004 11:11

Re: Mathem. Parser -- bitte testen
 
hi, hab auch getestet mit:

P 4 2,59 GHz , 512 MB Ram, XP Professional 2002 SP1
Delphi 7.1 Architekt

ergaben:

68973
140964
312482
635788


es scheint so als hätte ich ein paar performance probleme, kennt jemand abhilfe?

gruß rene

ps:
oops mein alter ist 2 fach schneller:
PII, 350 MHz 128MB, WIN98
4279
8071
18313
32403

... da muß ich wohl mal was machen !

Mirilin 23. Mai 2004 11:14

Re: Mathem. Parser -- bitte testen
 
:hi:

:gruebel:
wenn Du ein Komma setzt, dann sähe es ähnlich wie bei uns aus.

Zitat:

689.73
1409.64
3124.82
6357.88

ansonsten :shock:

mfg Tobias

mirage228 23. Mai 2004 11:26

Re: Mathem. Parser -- bitte testen
 
Bei mir läufts auch:

Delphi3 Professional:
Nicht kompilierbar:
Keine Unterstützung für Overloads,
Unbekannte Funktionen
Konnte DFM (trotz konvertierung) nicht lesen.

Delphi6 Personal:
1936,8
3483,25
7767,72
16593,5

Delphi7 Professional:
1783,7
3185,13
7086,88
14845,4

Delphi8 Professional:
Nicht kompilierbar:
[Fehler] QMath.pas(109): Sprach-Feature wird nicht unterstützt: 'ASM'

Hab nen P4 1.5 GHz, 1 GB RAM, WinXP Pro SP1

mfG
mirage228

ibp 23. Mai 2004 11:29

Re: Mathem. Parser -- bitte testen
 
hi mirlin,
hab die kommata schon hinten abgeschnitten !!!!!!! scheiß rechner: :wall:

ibp 23. Mai 2004 11:33

Re: Mathem. Parser -- bitte testen
 
hi mirage228,
nochmal durchlesen für delphi 8:

"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."

und zu mirilin war keine absicht so viele i's! :zwinker:

mirage228 23. Mai 2004 11:44

Re: Mathem. Parser -- bitte testen
 
Zitat:

Zitat von ibp
hi mirage228,
nochmal durchlesen für delphi 8:

"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."

und zu mirilin war keine absicht so viele i's! :zwinker:

Hi,

Es funktioniert trotzdem nicht (selbst wenn ich {$UNSAFECODE ON} setze und alle Prozeduren als unsafe; markiere):
Code:
[Warnung] CQTest.dpr(7): Unit 'Borland.Vcl.Forms' ist plattformspezifisch
[Warnung] UCQTest.pas(6): Unit 'Borland.Vcl.Windows' ist plattformspezifisch
[Warnung] UCQTest.pas(6): Unit 'Borland.Vcl.Messages' ist plattformspezifisch
[Warnung] UCQTest.pas(6): Unit 'Borland.Vcl.Graphics' ist plattformspezifisch
[Warnung] UCQTest.pas(6): Unit 'Borland.Vcl.Controls' ist plattformspezifisch
[Warnung] UCQTest.pas(6): Unit 'Borland.Vcl.Forms' ist plattformspezifisch
[Warnung] UCQTest.pas(7): Unit 'Borland.Vcl.Dialogs' ist plattformspezifisch
[Fehler] CQParser.pas(198): Undefinierter Bezeichner: 'PDouble'
[Fehler] CQParser.pas(218): Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(233): Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(267): Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(300): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(305): Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(338): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(380): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(404): Undefinierter Bezeichner: 'FreeMem'
[Fehler] CQParser.pas(407): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(408): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(417): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(418): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(427): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(428): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(437): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(438): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(439): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
[Fehler] CQParser.pas(448): Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann
[Fehler] CQParser.pas(453): Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann
[Fehler] CQParser.pas(458): Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann
[Fehler] CQParser.pas(467): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(468): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(469): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(476): Der linken Seite kann nichts zugewiesen werden
[Fehler] CQParser.pas(476): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(477): Der linken Seite kann nichts zugewiesen werden
[Fehler] CQParser.pas(477): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(478): Der linken Seite kann nichts zugewiesen werden
[Fehler] CQParser.pas(478): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Warnung] CQParser.pas(571): WideChar in Set-Ausdrücken auf ByteChar verkürzt
[Warnung] CQParser.pas(571): WideChar in Set-Ausdrücken auf ByteChar verkürzt
[Warnung] CQParser.pas(572): WideChar in Set-Ausdrücken auf ByteChar verkürzt
[Warnung] CQParser.pas(572): WideChar in Set-Ausdrücken auf ByteChar verkürzt
[Fehler] CQParser.pas(723): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(724): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(725): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(726): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(727): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(728): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(729): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(730): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(733): Undefinierter Bezeichner: 'getmem'
[Fehler] CQParser.pas(734): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(743): Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(882): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(883): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(884): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(885): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(886): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(887): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(888): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(889): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(892): Undefinierter Bezeichner: 'getmem'
[Fehler] CQParser.pas(903): Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1042): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1043): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1044): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1045): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1046): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1047): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1048): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1049): Unsicherer Code ist nur in unsicheren Prozeduren zulässig
[Fehler] CQParser.pas(1052): Undefinierter Bezeichner: 'getmem'
[Fataler Fehler] UCQTest.pas(7): Verwendete Unit 'CQParser.pas' kann nicht compiliert werden
...

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 Uhr.
Seite 1 von 11  1 23     Letzte »    

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