I looked at the video, and looks like he is running for 5 seconds, but cannot tell how many prime numbers he calculated on the platforms he was testing. I had an old COBOL program laying around from years ago that calculates prime numbers. This morning I cranked it up to a limit of 50,000,000 and it completed in 6 seconds. This is on enterprise cobol 6 on z15.
PGM-NAME EXCP CPU SRB CLOCK PRIMECB6 17971 .08 .00 .11 000100 IDENTIFICATION DIVISION. 000200 PROGRAM-ID. PRIMECOB. 000300* EXAMPLE OF IN-LINE PERFORMS, END-IF, INITIALIZE STATEMENTS 000400 DATA DIVISION. 000500 WORKING-STORAGE SECTION. 000600 01 NUMBER-ARRAY. 000700 05 NA-LINE OCCURS 50000000. 000700* 05 NA-LINE OCCURS 3355440. 000710* 05 NA-LINE OCCURS 26214. 000720* ABOVE OCCURS CLAUSE IS LARGEST THAT WILL WORK FOR COBOL/VS 000800 10 NA-NUMBER PIC X. 000900 88 IS-PRIME VALUE '1'. 001000 88 IS-NOT-PRIME VALUE ZERO. 001100 10 NA-PROOF PIC S9(8) BINARY. 001200 01 CANDIDATE PIC S9(8) BINARY. 001300 01 CPRIME PIC S9(8) BINARY. 001400 01 ARRAY-SIZE PIC S9(8) BINARY. 001500 001600 PROCEDURE DIVISION. 001700 MAINLINE. 001800 INITIALIZE NUMBER-ARRAY REPLACING ALPHANUMERIC BY '1' 001900 INITIALIZE NUMBER-ARRAY REPLACING NUMERIC BY ZERO 000200 002100 COMPUTE ARRAY-SIZE = LENGTH OF NUMBER-ARRAY / 5 002200 002300 PERFORM VARYING CPRIME FROM 2 BY 1 002400 UNTIL CPRIME > ARRAY-SIZE 002500 IF IS-PRIME (CPRIME) 002600 COMPUTE CANDIDATE = CPRIME + CPRIME 002700 PERFORM UNTIL CANDIDATE > ARRAY-SIZE 002800 SET IS-NOT-PRIME(CANDIDATE) TO TRUE 002900 MOVE CPRIME TO NA-PROOF(CANDIDATE) 003000 ADD CPRIME TO CANDIDATE 003100 END-PERFORM 003200 END-IF 003300 END-PERFORM 003400 003500 PERFORM VARYING CANDIDATE FROM 1 BY 1 003600 UNTIL CANDIDATE > ARRAY-SIZE 003700 IF IS-PRIME (CANDIDATE) 003800 DISPLAY CANDIDATE ' IS PRIME' 003900* ELSE 004000* DISPLAY CANDIDATE ' DIVISIBLE BY ' 004100* NA-PROOF(CANDIDATE) 004200 END-IF 004300 END-PERFORM. 004400 STOP RUN. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
