started: 2018-03-21T12:32:03.857000

.Routines: (16 items)

    #  1: index=[CALLASROUTINE1]                        -> item=[a Routine id#_-8796050901889]
    #  2: index=[CALLASROUTINE2]                        -> item=[a Routine id#_-8796050915057]
    #  3: index=[CALLASROUTINE3]                        -> item=[a Routine id#_-8796050927729]
    #  4: index=[CALLBSF_EXTERNAL_ROUNDTRIPTOJAVA]      -> item=[a Routine id#_-8796050952081]
    #  5: index=[CALLBSF_ROUTINE_CALLBACK_JNI]          -> item=[a Routine id#_-8796050978401]
    #  6: index=[CALLBSF_ROUTINE_ROUNDTRIPTOJAVA]       -> item=[a Routine id#_-8796050964881]
    #  7: index=[CALLBSF_ROUTINE_SENDBACK_REXX_MESSAGE] -> item=[a Routine id#_-8796050991649]
    #  8: index=[CPP_CALLS_TESTPINGONJAVA]              -> item=[a Routine id#_-8796050940001]
    #  9: index=[F]                                     -> item=[a Routine id#_-8796051026929]
    # 10: index=[FMT]                                   -> item=[a Routine id#_-8796051023569]
    # 11: index=[F_CREATE_IDX]                          -> item=[a Routine id#_-8796051033745]
    # 12: index=[PLAINCALL_BSFTESTPING]                 -> item=[a Routine id#_-8796050867569]
    # 13: index=[PLAINCALL_ZBSFTESTPING]                -> item=[a Routine id#_-8796050889361]
    # 14: index=[TESTRESOLUTION]                        -> item=[a Routine id#_-8796051007457]
    # 15: index=[XBSF]                                  -> item=[a Routine id#_-8796050870449]
    # 16: index=[ZBSFTESTPING]                          -> item=[a Routine id#_-8796050877553]
--------------------------------------------------

--- 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:00.296000] or [              337,838] 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.281000] or [              355,278] calls/second | relative performance:                   105.34 % ->                     1.1 times

--- external call, using the routine object from package .routines -------------------------------------------------------------------------
///---> 100000 times: callAsRoutin .routines~zBsfTestPing: [a Routine id#_-8796050877553] <--- \\\..........................................
callAsRoutine1():                  .routines~zBsfTestPing~call    [100000] times lasted: [00:00:00.562000] or [              177,639] calls/second | relative performance:                    52.67 % ->                     0.5 times

///---> 100000 times: callAsRoutin ref2routines~zBsfTestPing: [a Routine id#_-8796050877553] <--- \\\.......................................
callAsRoutine2():                  ref2routines~zBsfTestPing~call [100000] times lasted: [00:00:00.390000] or [              256,014] calls/second | relative performance:                    75.90 % ->                     0.8 times

///---> 100000 times: callAsRoutin routine=.routines~zBsfTestPing: [a Routine id#_-8796050877553] <--- \\\..................................
callAsRoutine3():                  routine~call                   [100000] times lasted: [00:00:00.343000] or [              291,545] calls/second | relative performance:                    86.30 % ->                     0.9 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.483000] or [              207,930] calls/second | relative performance:                    61.28 % ->                     0.6 times

///---> 100000 times: [a pst].doTheWork_02:              myR~call <---\\\...................................................................
[a pst].doTheWork_02:              myR~call                       [100000] times lasted: [00:00:00.328000] or [              304,878] calls/second | relative performance:                    90.24 % ->                     0.9 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.452000] or [              221,932] calls/second | relative performance:                    65.49 % ->                     0.7 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:02.808000] or [               35,316] calls/second | relative performance:                    10.54 % ->                     0.1 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:02.762000] or [               36,602] calls/second | relative performance:                    10.72 % ->                     0.1 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:02.511000] or [               39,528] calls/second | relative performance:                    11.79 % ->                     0.1 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:                 1,058.00 % ->                    18.5 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:                 1,379.33 % ->                    19.7 times


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

started: 2018-03-21T12:32:03.857000 ended: 2018-03-21T12:32:15.104000 duration (ended-started): 00:00:11.247000
