Hallo Kollegen,
ich habe es auf meiner Power 7+ Model 720 mit 7.3 getestet und habe folgendes Ergebnis.
Das RPG-Programm ist anbei.
Code:
Loops Laufzeit in Sek
-----------------------------
10.000.000 0,52s
100.000.000 5,22s
1.000.000.000 52,53s
Um es fair zu vergleichen, habe ich die Aufgabe in C++ auf meiner IBM i geschreiben.
Hier habe ich folgendes Ergebnis
Code:
Loops Laufzeit in Sek
-----------------------------
100.000.000 1,20s
1.000.000.000 21,52s
Wichtig bei der Verarbeitungsgeschwindigkeit ist auch, ob Festkomma oder Fliesskommazahlen verwendet werden.
Wenn das Result im RPG-Programm als Festkommazahl definiert ist, dann dauert es 10x länger:
z.B. Dcl-s LocResult packed(20:2);
Lösung mit RPG
PHP-Code:
ctl-opt dftactgrp(*no) main(main);
//------------------------------------------------------------------//
// //
// Test - Performance mit PI //
// //
//----------------- //
// R.Ross 05.2020 * //
//------------------------------------------------------------------//
// Main //
//------------------------------------------------------------------//
dcl-proc main;
dcl-s LocPi float(08) inz(3.14);
dcl-s LocResult float(08);
dcl-s LocInd int(10);
for LocInd = 1 to 1000000000;
LocResult = LocInd/LocPi;
endfor;
end-proc;
//------------------------------------------------------------------//
Lösung mit C++
PHP-Code:
//------------------------------------------------------------------//
// Loop mit PI //
//------------------------------------------------------------------//
int main() {
const float PI = 3.14159265358979f;
for (int i = 0; i < 1000000000; i++) {
float result = i/PI;
}
}
Herzliche Grüße
Rainer
Bookmarks