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 5 von 11   « Erste     345 67     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
 
Robert_G
 
#41
  Alt 24. Mai 2004, 20:51
@dizzy

Delphi-Quellcode:
function Ticks(Cycles: Int64): Double;
// rechnet Taktzyklen in Millisekunden um
begin
  Result := Cycles * 1000 / CPUFrequency;
end;
Ich denke mal, dass das ziemlich am realen Ergebenis vorbeisaust, wenn der AMD eine angeblich 32-mal höhere Frequenz hat, oder AMD hat es endlich geschafft Intel einzuholen .

p.s.: der P4 war nach meiner subjektiven Empfindung ca. doppelt so schnell.

Nachtrag:
Zitat:
Warum interessiert es ihn nicht!? Ich dachte immer HT sei sowas wie das AllSchnellMittel...
Weil die Anwendung single threaded läuft. Deshalb kann sie schlecht auf beide Pseudo-Chips verteilt werden.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#42
  Alt 24. Mai 2004, 20:52
Zitat von Luckie:
Ä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.
---> damit
(Und sorry Hagen, du hattest 'nur' den Zusatz geposted. Die Routine ist ja von... ja von Luckie)
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber

 
Delphi XE Professional
 
#43
  Alt 24. Mai 2004, 20:52
Hi!

Zitat von Luckie:
Äh, wie ermittelst du die Zeiten? Mit GetTickCount wird das nichts
Zitat von dizzy:
Die Dauer wird mittels des vom BIOS geführten Clock-Counter ermittelt (ich glaube die Routine ist von Hagen hier...).
Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Alexander

 
Turbo Delphi für .NET
 
#44
  Alt 25. Mai 2004, 20:25
Zitat von dizzy:
@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... )
Hi,
die andere Unit QMAth2.pas habe ich doch glatt übersehen, dann ist das ganze mit den Kommentaren nicht so tragisch, aber wenn du es doch noch machst, dann bedanke ich mich an dieser Stelle mal
Achso wenn du noch Kommentare machst, dann ist mir das vollkommen gleich, ob Englisch oder Deutsch

PS: Vielleicht sollte ihc mich doch mal mit Assembler beschäftigen
Alexander
  Mit Zitat antworten Zitat
Muetze1
 
#45
  Alt 30. Mai 2004, 04:13
Moin!

So, ich habe das Ding auch mal getestet. Ich benutze Delphi 5 Prof (Update Pack 1) (mit den vorher gehenden Änderungen im Code) auf einem P4 mit HT auf 3.0 GHz.

Beim aller ersten Lauf braucht er bei der Delphi Rechnung recht lange, bei einem sofortigen 2. Start (ohne das Prog zu beenden) geht's bedeutend schneller.

Die Zeiten (2. Durchlauf, 1. Durchlauf hatte auch nix "positiveres"...):
-189173
-370250
-912305
-1,83168E6

Nochwas allgemeines: im Kommentar im Header sind ein paar Rechtschreibfehler (address mit Doppel-d, I z.T. klein geschrieben, etc).

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#46
  Alt 30. Mai 2004, 15:31
Zitat von Muetze1:
So, ich habe das Ding auch mal getestet.
thx!

Zitat von Muetze1:
Die Zeiten (2. Durchlauf, 1. Durchlauf hatte auch nix "positiveres"...):
-189173
-370250
-912305
-1,83168E6
Mit scheint, dass die Zeitmessungsmethode ein wenig Probleme mit nem P4 hat

Zitat von Muetze1:
Nochwas allgemeines: im Kommentar im Header sind ein paar Rechtschreibfehler (address mit Doppel-d, I z.T. klein geschrieben, etc).
Wird behoben. War schnell hingekritzelt... Und ich mag es irgendwie nicht "I" groß zu schreiben. Sieht so egozentrisch aus ...aber die Regel schreibt's vor - hast ja Recht

Danke dir! Und an der Performancemessung muss ich wohl noch mal was machen... dann wird's weniger akkurat, aber sollte zumindest überall klappen. Schade das.


MfG,
dizzy
Fabian K.
  Mit Zitat antworten Zitat
CalganX

 
Turbo Delphi für Win32
 
#47
  Alt 30. Mai 2004, 15:39
Hi dizzy,
interessieren dich die Ergebnisse immer noch?
  • Delphi: Delphi 7 Professional
  • Compilieren? Geht wunderbar.
  • CPU: AMD Athlon XP 2200+ mit 1.85Ghz (ich bekenne mich dazu ihn um 4MHz getaktet zu haben )
  • Ausgabe: Die Zeiten sind: 972,224 | 1730,09 | 4438,15 | 8695,65
War da noch was, was du wissen wolltest?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#48
  Alt 30. Mai 2004, 15:53
Ja na klar! Ich schraube noch immer an dem Teil rum. Mittlerweile kann er sogar konstante Teile einer Formel vorausberechnen, so dass das Lösen dann noch fixer geht (je nach Verwendung der Variablen natürlich)

Was ich noch interessant fände, wäre noch die Sache mit der "Optimalität" des QT. Keine Leaks? (Hab bisher keine gefunden.) Ist er schön? Sind die verwendeten Techniken auch wirklich die performatesten/komfortabelsten? Braucht das überhaupt wer

Danke dir Chak!
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B
 
#49
  Alt 30. Mai 2004, 19:47
So, ich habs auch mal getestet:
  • Delphi 7 PE
    Compilieren geht
    Pentium 4 2,66 GHz
    Von oben nach unten: 915,379 1882,91 4203,26 8365,59
Simon Praetorius
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

 
Delphi 12 Athens
 
#50
  Alt 1. Jun 2004, 12:18
Moin, moin,

im Anhnag findet sich die Version für D4,
sollte auch mit D3 laufen. Die Zeiten auf
dem alten Rechner spare ich mir aber.

Grüße // Martin
Angehängte Dateien
Dateityp: zip cqparser_d4.zip (17,9 KB, 18x aufgerufen)
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 11   « Erste     345 67     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 21:03 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