>Is it just me?? Probably not, but if someone is comparing a HLL C that uses LE runtime stuff with assembler that doesn't, that is not a fair comparison.
How about comparing Metal C to assembler to take runtime out of the equation? An interesting, but almost inevitable, phenomenon is that if you started with two programs, one in asssembler, one in a HLL, both highly optimized, over time, as that program is modified, the assembler one usually gets worse, and the HLL one gets better. That's because the HLL one gets to benefit from advances in compiler optimization technology upon recompilation. And the assembler one suffers from the "what register is it safe to use" and "can I safely rely on having access to this control sructure here" paradigms that many assembler modifications must go through. The answer is often not "the register that is best for the overall optimization of the module" and "yes, so I do not have to reload as much". The cost of analyzing/optimizing the whole program again is not usually justifiable when making a modification. Peter Relson z/OS Core Technology Design
