IBM Support

PM54263: MARSHALL LIBRARY PERFORMANCE

Fixes are available

8.0.0.3: WebSphere Application Server V8.0 Fix Pack 3
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
8.0.0.4: WebSphere Application Server V8.0 Fix Pack 4
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
8.0.0.5: WebSphere Application Server V8.0 Fix Pack 5
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Users want as fast performance as possible. Recent studies have
    shown possible areas of improvements in data transformation
    which involve
    - less overhead in range checks using static values
    - faster construction of BigDecimals and BigIntegers
    
    Improve the performance of Records and DataBindings which are
    targeting  COBOL, C and PL/I applications.  These applications
    may be CICS, IMS or Batch applications.  They may also involve
    Messaging or File based applications that are exchanging COBOL
    data.
    
    BPM release requriement: Z - Improve performance of COBOL, C,
    PL/1 DataBindings (52992)
    
    Code changes
    ------------------
    In the marshall library:
    Use the six pre-defined BigDecimal and BigInteger constants
    instead of creating new objects:
    
     lowerRange_ = new BigDecimal("0");
    changes to
     lowerRange_ = BigDecimal.ZERO;
    
    Applies for all the following values:
    BigDecimal.ZERO
    BigDecimal.ONE
    BigDecimal.TEN
    BigInteger.ZERO
    BigInteger.ONE
    BigInteger.TEN
    
    Use the "integer" constructors of the BigDecimal class instead
    of the String constructor when creating known constant values:
    
     BigDecimal two = new BigDecimal("2");
     BigDecimal one = new BigDecimal("1");
     BigDecimal pointFive = new BigDecimal("0.5");
    changes to
     BigDecimal two = new BigDecimal(2);
     BigDecimal one = BigDecimal.ONE;
     BigDecimal pointFive = new BigDecimal(5).movePointLeft (1);
    
    Use the BigDecimal integral constructor when creating a
    BigInteger from an integer value instead of the String
    constructor:
    
     int exponentBase = 16;
     BigInteger biExponent = new
    BigInteger(Integer.toString(exponentBase));
    changes to
     int exponentBase = 16;
     BigInteger biExponent = new
    BigDecimal(exponentBase).toBigInteger();
    
    Use the "integer" constructors of the BigDecimal class instead
    of the String constructor when data type is an integer type:
    
     result = new BigDecimal(Byte.toString(byteResult));
     result = new BigDecimal(Short.toString(shortResult));
     result = new BigDecimal(Short.toString(shortResult));
     result = new BigDecimal(Integer.toString(intResult));
     result = new BigDecimal(Integer.toString(intResult));
     result = new BigDecimal(Long.toString(longResult));
    changes to
     result = new BigDecimal(byteResult);
     result = new BigDecimal(shortResult);
     result = new BigDecimal(shortResult);
     result = new BigDecimal(intResult);
     result = new BigDecimal(intResult);
     result = new BigDecimal(longResult);
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0 and V8.0 using the marshall     *
    *                  library, such as applications built using   *
    *                  J2C tooling targeting CICS programs or IMS  *
    *                  transactions.                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: Performance improvements in data        *
    *                      transformation.                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Users want as fast performance as possible. Recent studies
    have shown possible areas of improvements in data
    transformation which involve:
    - less overhead in range checks using static values
    - faster construction of BigDecimals and BigIntegers
    

Problem conclusion

  • Provided updates to the marshall library which improve
    data transformation performance when working with BigDecimals
    and BigIntegers.
    The fix for this APAR is currently targeted for inclusion in
    fix packs 7.0.0.23 and 8.0.0.3.  Please refer to the
    Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM54263

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-12-13

  • Closed date

    2012-03-28

  • Last modified date

    2012-03-28

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PM54263

Modified date: 28 March 2012