-
Performance bei MI Aufrufen
Hallo Leute,
aktuell beschäftige ich mich mit der MI Programmierung. Dabei habe ich gelernt, dass man MI-Funktionen direkt aus ILE Cobol aufrufen kann. Auf diversen Webseiten wird berichtet, dass die MI-Aufrufe schneller sein sollen, als vergleichbare C-Funktionen.
Das habe ich nun auf meiner 170er (2292, V5R2) getestet und bin erstaunt, dass das Programm mit dem MI-Aufruf am meisten CPU benötigt.
Getestet habe ich die C-Funktion pow(), in MI die Funktion _POWER und in Cobol der Operator ** innerhalb einer COMPUTE Anweisung.
Hier die ILE Cobol Test-Sourcen:
Code:
IDENTIFICATION DIVISION.
PROGRAM-ID. CLCPOW.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WERT-A COMP-2.
01 WERT-B COMP-2.
LINKAGE SECTION.
PROCEDURE DIVISION.
STEUER SECTION.
ANFANG.
MOVE 50 TO WERT-B.
PERFORM 999999 TIMES
MOVE 5000 TO WERT-A
COMPUTE WERT-A = WERT-A ** WERT-B
END-PERFORM.
ENDE.
GOBACK.
Code:
PROCESS NOMONOPRC.
IDENTIFICATION DIVISION.
PROGRAM-ID. CLCPOWC.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WERT-A COMP-2.
01 WERT-B COMP-2.
LINKAGE SECTION.
PROCEDURE DIVISION.
STEUER SECTION.
ANFANG.
MOVE 50 TO WERT-B.
PERFORM 999999 TIMES
MOVE 5000 TO WERT-A
CALL PROCEDURE "pow" USING BY VALUE WERT-A
WERT-B
RETURNING WERT-A
END-CALL
END-PERFORM.
ENDE.
GOBACK.
Code:
PROCESS NOMONOPRC.
IDENTIFICATION DIVISION.
PROGRAM-ID. CLCPOWMI.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. LINKAGE TYPE IS SYS FOR "_POWER".
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WERT-A COMP-2.
01 WERT-B COMP-2.
LINKAGE SECTION.
PROCEDURE DIVISION.
STEUER SECTION.
ANFANG.
MOVE 50 TO WERT-B.
PERFORM 999999 TIMES
MOVE 5000 TO WERT-A
CALL "_POWER" USING BY VALUE WERT-A
WERT-B
RETURNING WERT-A
END-CALL
END-PERFORM.
ENDE.
GOBACK.
Hier die Auswertung eines Aufrufes als Batchjob. Verbrauchte CPU und Laufzeit per Accounting Journal QACGJRN ausgewertet:
Programm
|
CPU Zeit in Sek.
|
Dauer in Sek.
|
CLCPOW |
2,350 |
2,582 |
CLCPOWC |
4,145 |
4,335 |
CLCPOWMI |
8,044 |
9,872 |
Kann mir jemand erklären, weshalb der MI Aufruf so langsam ist?
Viele Grüße
Matthias
Similar Threads
-
By Norbertf in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 14-10-14, 20:32
-
By Bernstein in forum NEWSboard Server Job
Antworten: 0
Letzter Beitrag: 05-08-14, 17:34
-
By Robi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 08-04-03, 07:40
-
By hansr in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 28-11-02, 16:38
-
By mk in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 27-06-02, 09:32
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks