On 2015-02-27 23:08, Shmuel Metz , Seymour J. wrote:
In
<49f2b7b0100a4f488766e671d8c27dcb971...@defthw99ex2msx.ww931.my-it-solutions.net>,
on 02/24/2015
    at 10:49 AM, "Beesley, Paul" <[email protected]> said:

Our customer has been trialling Enterprise PL/1 4.4, with the
intention of upgrading from their current compiler, PL/1 for
MVS&VM.

I'm curious about how it handles unaligned bit strings. Back in the
Paleolithic, when my Uncle Crow and Aunt Maggie roamed the Earth, IBM
corrected a bug[1] in PL/1 (F) V4 by always calling a library routine
in cases where it had previously used inline code. SMF data are full
of unaligned bit data, and performance using V5 was much worse than
using V4. Does it still generate library calls for unaligned bit
strings, even when the offsets and lengths are fixed?

[1] The F compiler used multiple passes, and it didn't have enough
     data in the early passes to make intelligent decisions. By the
     time it had analyzed the DECLARE completely, it was already
     committed to generating bloated code. That fix is why I
     consistently put "optimizing" in quotes.

The V2.3.0 OS compiler used library calls to handle unaligned bit strings, and I once reduced the CPU overhead from a routine by 99.7% by moving the entire 1730 byte string first into an aligned array, before actually doing the CRC calculations.

A quick and dirty test with Enterprise PL/I (V4.3.0) doesn't show any subroutine calls for them, just in-line code, but the V4.3.0 code is in some other cases, to put it politely, rather less efficient than the V2.3.0 code, see https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=66462

Robert
--
Robert AH Prins
robert(a)prino(d)org

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to