Geschwindigkeit der Beta7

Fragen und Bugreports zur PureBasic 4.0-Beta.
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Geschwindigkeit der Beta7

Beitrag von Sebe »

Seit ein Paar Tagen ist die Geschwindigkeit von PB und BMX Gegenstand eines Threads im CW Forum. Mitlerweile kamen schon einige Benchmarks zusammen (bis auf Dhrystone sind alle von mir geportet/programmiert). Die Dateien habe ich gezippt und ihr könnt sie hier runterladen: http://www.kudoscry.com/public/test.zip
Sowohl Sources als auch Exes sind im Paket enthalten (PB exes mit Beta7 kompiliert, BMX Exes mit der BMX Demo).
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

CW Forum??
BMX??

Ein paar Links wären nicht schlecht...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Alle Infos im engl. Forum: http://www.purebasic.fr/english/viewtopic.php?t=20612

Ich hoffe hier werden jetzt nicht auch noch zahlreiche sinnlose Benchmarks
gepostet.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Beitrag von Hyper »

Ja, das hoffe ich auch. Ich habe allerdings das Gefühl, dass die Beta7 signifikant langsamer gegenüber der Beta6 ist. Insbesondere die IDE bei Autovervollständigen. Hat noch jemand die Erfahrung gemacht?
PB 5.72
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Hat noch jemand die Erfahrung gemacht?
Der Compiler ist nicht langsamer, die IDE schon eher, weil dort ja jetzt auch
zusätzliche Überprüfungen eingebaut wurden, vor allem wegen dem
korrekten Syntaxhighlighting
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Kann man eigentlich so nicht ganz vergleichen. Denn BMX
produziert laut Sebes Aussage C Code und kompiliert diesen
mit gcc. Das Problem hier ist aber, dass gcc selbst den Code
schon bis zum tot schießen optimiert /:->. PB hinkt da traurig
hinter her...
Bild
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Denn BMX produziert laut Sebes Aussage C Code und kompiliert diesen mit gcc. Das Problem hier ist aber, dass gcc selbst den Code
schon bis zum tot schießen optimiert
Das war früher so (als ich noch Lizenzbesitzer war). Seit 1.12 (Demo) scheint es aber so zu sein, dass BMX ohne gcc auskommt. Laut Aussagen einiger BMX Besitzer scheint es wohl so zu sein, dass man den gcc nur noch braucht, wenn man Userlibraries kompilieren will oder c++ Sources benutzen will. Kurios: BMX schlägt beim Whetstone Benchmark sogar den gcc (getestet mit DevCpp), während PB sich auf gcc Niveau befindet. Der Grund hat mich dann etwas enttäuscht:
Trigonometric functions returned by blitzmax are returned as double float, but only the first 8 (sometimes 6) decimals are true, the other 10 (or more) are literally invented.
I guess it has a table of results used to deliver some math functions.
Clearly this language is only focused for games.
Wer soll so eine Sprache ernst nehmen??? Das führt ja jeden Vergleich ad absurdum /:->
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Und wenn man schon einen Benchmark macht, dann bitte mit gleichen Startbedingungen!!!

Zum Beipiel beim Monte-Carlo-Verfahren. Da wird bei BlitzBasic die Kreisformel mit

Code: Alles auswählen

DOTX * DOTX + DOTY * DOTY
und in PureBasic mit

Code: Alles auswählen

Pow(DOTX, 2.0) + Pow(DOTY, 2.0)
berechnet. Kein Wunder das PB langsamer ist. Wenn man die Formel in PB auf die einfache Multiplikation abändert, so wie es in Blitz gemacht wurde, dann ist PB etwa 4x schneller als Blitz:

Code: Alles auswählen

PB: 780 ms (vorher 4890 ms)
BMX: 3850 ms
!!
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Lebostein hat geschrieben:Und wenn man schon einen Benchmark macht, dann bitte mit gleichen Startbedingungen!!!

Zum Beipiel beim Monte-Carlo-Verfahren. Da wird bei BlitzBasic die Kreisformel mit

Code: Alles auswählen

DOTX * DOTX + DOTY * DOTY
und in PureBasic mit

Code: Alles auswählen

Pow(DOTX, 2.0) + Pow(DOTY, 2.0)
Da fällt mir echt nix mehr zu ein :roll:

Warum machen die PB-Gegner es nicht gleich richtig?

Code: Alles auswählen

  erg.l = 0
  For i=1 To DOTX
    erg + DOTX
  Next
  For i=1 To DOTY
    erg + DOTY
  Next
<)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

freedimension hat geschrieben:
Lebostein hat geschrieben:Und wenn man schon einen Benchmark macht, dann bitte mit gleichen Startbedingungen!!!

Zum Beipiel beim Monte-Carlo-Verfahren. Da wird bei BlitzBasic die Kreisformel mit

Code: Alles auswählen

DOTX * DOTX + DOTY * DOTY
und in PureBasic mit

Code: Alles auswählen

Pow(DOTX, 2.0) + Pow(DOTY, 2.0)
Da fällt mir echt nix mehr zu ein :roll:

Warum machen die PB-Gegner es nicht gleich richtig?

Code: Alles auswählen

  erg.l = 0
  For i=1 To DOTX
    erg + DOTX
  Next
  For i=1 To DOTY
    erg + DOTY
  Next
<)
...?

Dann wäre es aber langsamer als die PB-Variante - "DOTX * DOTX + DOTY * DOTY" is doch die schnellste Variante...

...ja ich weiß, der Beitrag war eh nich ernst gemeint ;)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Gesperrt