I wonder, have machines changed at all since 1989? Any new instructions on the Z? <g>
The "problem" is fixed in C++ -- Google std:string. Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Clem Clarke Sent: Friday, February 2, 2018 4:13 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Fair comparison C vs HLASM Tests I did in 1989 and earlier showed that the null terminated strings are up to 26 times slower that using PL/I and Pascal strings. And they are dangerous. I have put some tests and documentation here: http://start.oscar-jol.com/fast-c-strings and an early message about the problem here: http://start.oscar-jol.com/fast-c-strings/original-message-re-c-strings Bill Gates had someone reply to me too, and his company's response is at the bottom of this page: http://start.oscar-jol.com/fast-c-strings Here's a table showing the relative speeds of various copies. The ASM copy refers to the 8086 equivalent of the 370 MVC. I did do some tests on Z/OS when I worked at IBM - however I am unable to find the results now. They were similar, though! Essentially, having to search for the binary zero at the end of a string to find it's length is costing approximately 20 times more CPU power that doing strings the way PL/I, Pascal and other languages utilise strings. In addition, C String methods can (and do) overwrite storage accidentally when a long string is copied to a short string. Let's fix the problem, once and for all!