ich habe ein kleines Benchmark Programm unter Purebasic, Freebasic und Blitzmax erstellt und unter Win11 und Linux (LMDE) compiliert.
Siehe unter: https://www.purebasic.fr/english/viewtopic.php?t=78172
Lediglich die Klammersetzung musste etwas angepasst werden.
Der Vorteil liegt in der Benutzung eines einzelnen Gerätes für Win11 und Linux. Die einzelnen Softwarevarianten können nun direkt in der Geschwindigkeit ihrer Abarbeitung verglichen werden. Die Nachkommastellen (absolute Zahlen) sind nicht von Interesse. Es handelt sich hier um Delta-Messungen, also der Vergleich zwischen den Werten. Sie sollen augenscheinlich einen Trend aufzeigen.
1) Purebasic:
Code: Alles auswählen
EnableExplicit
Define x.d = 1
Define i.i = 0
OpenConsole()
PrintN("Prime numbers from 0 to 99.999.998 ...")
PrintN("Benchmark for Windows with PureBasic 6.00 - 64 bit")
Define StartTime.d = ElapsedMilliseconds()
For i = 0 To 99999998
x = ((i+i+2*i)+0.621) /x
Next
Define EndTime.d = (ElapsedMilliseconds() - StartTime) / 1000
PrintN("It took " + StrD(EndTime) + " seconds to complete.")
PrintN("Result: " + StrD(x))
PrintN("Press ENTER to exit. . .")
Input()
CloseConsole()
Code: Alles auswählen
Dim as Integer i
Dim as Double start,dauer
Dim x As Double
Open Cons For Input As #1
Open Cons For Output As #2
Print "Prime numbers from 0 to 99.999.998 ..."
Print "Benchmark for Windows with Freebasic 1.09 - 64 bit"
start = Timer
For i = 0 To 99999998
x = ((i+i+2*i)+0.621) / x
Next
Dauer=(Timer-start)
Print "It took " + Str(Dauer) + " seconds to complete."
Rem Print "Results: " + Str(x)
Print "Press Enter to exit. .."
Sleep
Close
Code: Alles auswählen
SuperStrict
Global x:Double=1
Global i:Int=0
Print "Prime numbers from 0 to 99.999.998 ..."
Print "Benchmark for Windows with Blitzmax-ng - 64 bit"
Local start:Int = MilliSecs()
For Local i:Int = 0 To 99999998
x = (((i+i+2*i)+0.621) / x)
Next
Print "It took "+(MilliSecs()-start)+" milliseconds to complete."
Print "Result: " + x
Input "Press ENTER To Exit. .."
[Win11 + Purebasic: 0,471] [Win11 + Freebasic: 0,407] [Win11 + Blitzmax-ng: 0,318]
[Linux + Purebasic: 0,492] [Linux + Freebasic: 0,419] [Linux + Blitzmax-ng: 0,334]
Wie man unschwer erkennen kann, dauerte die Abarbeitung unter Linux etwas länger (3% - 5%).
Mit dem Vergleich Purebasic zu Blitzmax-ng dauerte die Abarbeitung für Purebasic ca. 50% länger.
Zwischen Win11 / Blitzmax-ng zu Linux / Purebasic ergeben sich ca. 55 Prozent Unterschied.
Noch ein Wort zu Linux:
LMDE (LinuxMintDebianEdition) baut nicht auf Ubuntu sondern direkt auf Debian auf und gilt als das etwas schnellere Linux-System. Compiliert wurde mit dem akt. Standard (gcc v.10) und dem noch frischen gcc v.12.2. Ein Gechwindigkeitsvorteil konnte nicht festgestellt werden.
Blitzer