Long ago (and far away now) when there was a MAJOR rewrite of COBOL for VS COBOL II, IBM spent significant resources in developing a lot of "optimization" techniques. Some of these would be "obvious" to Assembler programmers and many were not.
Therefore, I can well imagine that COBOL would do some (algorithm implementation) optimizations that would not be apparent to the Assembler programmer. Having said that, I (personally) haven't heard of many (any?) examples with this magnitude of cases where the COBOL out-performed the Assembler. Depending on how important this is to you, you might want to compare the "logic flow" (as well as instruction selection) of the COBOL "LIST" output with the Assembler code. This might give you some optimization clues - for your Assembler version of the program. -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Angel Luis Dom Ãnguez Sent: Monday, April 04, 2011 1:59 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: CPU: ASSM vs ENTERPRISE COBOL Hi all, Due to a requirement by my client, I have developped a module in two languages: HL-ASSEMBLER and ENTERPRISE-COBOL-4.2. The module has a lot of mathematic operations and calls a variable number of times to CSF to cipher, but there is NO ACCESS to FILES. It is coded as RENT in two languages. I was surprised with CPU consumption: Assm takes DOUBLE CPU than COBOL to perform the same work. I have reformatted all (as I know) the assembler eliminating pack operations and using registers and logical/binary operations as much as possible. I used a workarea provided by calling program to eliminate OBTAIN STORAGE .....but at the end... COBOL wins. has anyone any experience or suggestion about? Thanks a lot. Regards angel luis domÃnguez z/os system programmer-spain