started: 2018-03-20T21:22:25.674000

.Routines: (16 items)

    #  1: index=[CALLASROUTINE1]                        -> item=[a Routine id#_-8796050900657]
    #  2: index=[CALLASROUTINE2]                        -> item=[a Routine id#_-8796050913809]
    #  3: index=[CALLASROUTINE3]                        -> item=[a Routine id#_-8796050926465]
    #  4: index=[CALLBSF_EXTERNAL_ROUNDTRIPTOJAVA]      -> item=[a Routine id#_-8796050950785]
    #  5: index=[CALLBSF_ROUTINE_CALLBACK_JNI]          -> item=[a Routine id#_-8796050977073]
    #  6: index=[CALLBSF_ROUTINE_ROUNDTRIPTOJAVA]       -> item=[a Routine id#_-8796050963569]
    #  7: index=[CALLBSF_ROUTINE_SENDBACK_REXX_MESSAGE] -> item=[a Routine id#_-8796050990305]
    #  8: index=[CPP_CALLS_TESTPINGONJAVA]              -> item=[a Routine id#_-8796050938721]
    #  9: index=[F]                                     -> item=[a Routine id#_-8796051025585]
    # 10: index=[FMT]                                   -> item=[a Routine id#_-8796051022225]
    # 11: index=[F_CREATE_IDX]                          -> item=[a Routine id#_-8796051032401]
    # 12: index=[PLAINCALL_BSFTESTPING]                 -> item=[a Routine id#_-8796050867329]
    # 13: index=[PLAINCALL_ZBSFTESTPING]                -> item=[a Routine id#_-8796050888145]
    # 14: index=[TESTRESOLUTION]                        -> item=[a Routine id#_-8796051006113]
    # 15: index=[XBSF]                                  -> item=[a Routine id#_-8796050869265]
    # 16: index=[ZBSFTESTPING]                          -> item=[a Routine id#_-8796050876369]
--------------------------------------------------

--- plain external call, call via package .routines ----------------------------------------------------------------------------------------
/// ---> 100000 times: 'call BsfTestPing': normal call to external routine <--- (REFERENCE/BASE) <--- \\\...................................
plainCall_BsfTestPing():           'call BsfTestPing' directly    [100000] times lasted: [00:00:05.756000] or [               17,373] calls/second | relative performance:                   100.00 % ->                     1.0 times  <-- REFERENCE/BASE

///---> 100000 times: 'call zBsfTestPing': call to routine stored in package's .routines <--- \\\...........................................
plainCall_ZBsfTestPing():          'call zBsfTestPing' directly   [100000] times lasted: [00:00:00.422000] or [              236,769] calls/second | relative performance:                 1,363.98 % ->                    13.6 times

--- external call, using the routine object from package .routines -------------------------------------------------------------------------
///---> 100000 times: callAsRoutin .routines~zBsfTestPing: [a Routine id#_-8796050876369] <--- \\\..........................................
callAsRoutine1():                  .routines~zBsfTestPing~call    [100000] times lasted: [00:00:00.826000] or [              121,560] calls/second | relative performance:                   696.85 % ->                     7.0 times

///---> 100000 times: callAsRoutin ref2routines~zBsfTestPing: [a Routine id#_-8796050876369] <--- \\\.......................................
callAsRoutine2():                  ref2routines~zBsfTestPing~call [100000] times lasted: [00:00:00.593000] or [              168,436] calls/second | relative performance:                   970.66 % ->                     9.7 times

///---> 100000 times: callAsRoutin routine=.routines~zBsfTestPing: [a Routine id#_-8796050876369] <--- \\\..................................
callAsRoutine3():                  routine~call                   [100000] times lasted: [00:00:00.375000] or [              266,766] calls/second | relative performance:                 1,435.93 % ->                    15.3 times

--------------------------------------------------------------------------------------------------------------------------------------------

--- external call, fetching and invoking routine via the object ----------------------------------------------------------------------------
///---> 100000 times: [a pst].doTheWork_01:              self~class~myRoutine~call <---\\\..................................................
[a pst].doTheWork_01:              self~class~myRoutine~call      [100000] times lasted: [00:00:00.499000] or [              200,104] calls/second | relative performance:                 1,351.51 % ->                    11.5 times

///---> 100000 times: [a pst].doTheWork_02:              myR~call <---\\\...................................................................
[a pst].doTheWork_02:              myR~call                       [100000] times lasted: [00:00:00.374000] or [              267,083] calls/second | relative performance:                 1,935.04 % ->                    15.4 times


--- external call, fetching and invoking routine via a subclass object ---------------------------------------------------------------------
///---> 100000 times: [a pstSubclass].doTheWork:         self~class~myRoutine~call <---\\\..................................................
[a pstSubclass].doTheWork:         self~class~myRoutine~call      [100000] times lasted: [00:00:00.531000] or [              188,423] calls/second | relative performance:                 1,380.99 % ->                    10.8 times


--- roundtrip calls to Java ----------------------------------------------------------------------------------------------------------------
/// ---> 100000 times: callBSF_External_roundTripToJava:  call BSF 'testPing' (roundtrip from Rexx to Java) <--- \\\........................
callBSF_External_roundTripToJava:  call bsf 'testPing'            [100000] times lasted: [00:00:08.673000] or [               11,035] calls/second | relative performance:                    66.37 % ->                     0.7 times

/// ---> 100000 times: callBSF_Routine_roundTripToJava:   rBsf~call('testPing') (roundtrip from Rexx to Java) <--- \\\......................
callBSF_Routine_roundTripToJava:   rBsf~call('testPing')          [100000] times lasted: [00:00:03.183000] or [               31,714] calls/second | relative performance:                   180.84 % ->                     1.8 times


--- Java sends 'HI' to Rexx object ---------------------------------------------------------------------------------------------------------
/// ---> callBSF_Routine_sendback_Rexx_Mess rBsf~call('testPing',100000, .test~new, 'HI') (Java sends message 'HI' 100000 times to Rexx obje
callBSF_Routine_sendback_Rexx_Mess rBsf~call('testPing',i,o,'HI') [100000] times lasted: [00:00:03.104000] or [               32,612] calls/second | relative performance:                   185.44 % ->                     1.9 times


--- native code calls Java i-times ---------------------------------------------------------------------------------------------------------
/// ---> cpp_calls_TestPingOnJava():        'call zBsfTestPing', 100000': BsfTestPing()'s C++ code calls 'javaTestPing' 100000 times <--- \\
cpp_calls_TestPingOnJava():        'call zBsfTestPing, i          [100000] times lasted: [00:00:00.016000] or [            6,250,000] calls/second | relative performance:                35,579.00 % ->                   359.8 times


--- Java calls native code i-times ---------------------------------------------------------------------------------------------------------
/// ---> 100000 times: callBSF_Routine_callback_JNI():    rBsf~call('testPing',100000) (Java calling C++ function via JNI i times) <--- \\\.
callBSF_Routine_callback_JNI():    rBsf~call('testPing',i)        [100000] times lasted: [00:00:00.015000] or [            6,666,766] calls/second | relative performance:                38,373.33 % ->                   383.7 times


--- done. --------------------------------------------------------------------------------------------------------------------------------------------

started: 2018-03-20T21:22:25.674000 ended: 2018-03-20T21:22:50.041000 duration (ended-started): 00:00:24.367000
