Hi Kirk,

I have had a look at the fields package, and it's on my list to compare performance. I am mostly doing my own conversions because one of the objectives is to allow SMF processing on other platforms i.e. Windows, Linux if desired and I'm not sure what are the licensing implications of a customer deploying the jzos jars to other platforms. (The focus on Eclipse environments for development suggests it's acceptable for development at least.) I want to remove the dependency on jzos completely for other platforms.

It's useful to know that the JVM can do inline replacement with the machine code. I was unsure whether that was the case or whether it was a JNI call to external code - which would likely end up slower than optimized java code. In any case I think these conversions are actually a small part of the total CPU consumption and I will have trouble measuring it.

I looked at the RecordGenerator, but I have my own process to do a similar thing. It's actually a bit more complicated because the DSECTS don't contain the full data type information. I am converting STCK values to java.time.ZonedDateTime, SMF date fields to java.time.LocalDate, CPU time to java.time.Duration etc.

At the moment I use the JZOS RecordReader and I would prefer to keep using it rather than do my own JNI. It's useful to be able to say the API is 100% Java.

Regards

Andrew Rowley


On 02/04/2016 08:48 AM, Kirk Wolf wrote:
I'm curious, Andrew -

Have you looked at the com.ibm.jzos.fields package for field mapping of
records?
These can be made to use fancy support in the JVM for inline JIT
replacement of primitive access with machine instructions.

There is also some tools on the JZOS developerWorks site - the JZOS
RecordGenerator.   This tool will allow you to read Assembler DSECTS or
Cobol copybooks and generate Java classes that use the runtime classes from
com.ibm.jzos.fields.

See:
https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=2acdb076-7582-45b5-93a5-781f90169bd3

Regards,

Kirk Wolf
Dovetailed Technologies
http://dovetail.com

PS> The JZOS RecordReader (for eligible data sets) uses a JNI library that
uses best-practices BSAM techniques for efficiently reading sequential data
sets.   The JNI interface is block-level, rather than record-level, which
helps a great deal.
The only part that you couldn't do yourself is to make the JNI library
zAPP/zIIP eligible.   The JZOS JNI libraries *are* zAPP eligible, since
they are part of the IBM JRE.

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

Reply via email to