• =?UTF-8?B?UmU6IFtBTk5dIChwcmV2aWV3KSDigJx0Y2xtc2dxdWXigJ0gaXMgdGhl?= =?

    From aotto1968@21:1/5 to Gerald Lester on Sat Nov 2 23:42:07 2024
    On 02.11.24 22:52, Gerald Lester wrote:
    *Tcl* is still far behind, even the new *Ruby* is faster.

    : http://thedev.nhi1.de/theLink/main/md_docs_2main_2README__PERFORMANCE.htm#README_PERFORMANCE

    The reason for the performance problem with *Tcl* is still the same:

    1. The "thread" support has an performance "problem" (R=with thread, A=without thread)

                 |   send     send     send     send    create    create data     data
                 |  NOTHING   END    CALLBACK   WAIT    PARENT    CHILD BUS      BFL
                 | -------- -------- -------- -------- --------- -------- -------- --------

      R: Tcl     |   332380   190834   120565    61112      132    23589 43077    42926
      A: Tcl     |   427613   247405   137936    70103      132    24716 48329    47938

       Ruby and Python both support threads in the language kernel by default and it seems to be working

      R: Python  |   493313   315040   160869    75802      103    21982 68504    65800
      R: Ruby    |   436564   301587   165921    77032       52    16330 71040    63967

    You do realize comparing Tcl with "thread" support and Python/Ruby with their "thread" support is comparing apples to potatoes.

    Tcl threads are apartment model where Python/Ruby are a shared memory model.  Tcl threads are "heavier" but easier to program
    and debug since it is very hard to make them step on themselves -- something that is ridiculously easier to do by accident in
    the other languages.

    just to be clear the tests itself does *not* using any kind of *thread* related feature …

    | I just say that an thread-enabled-tcl is much slower than Py/Rb *but* beside the *thread*
    | support the tcl OO model seems to an additional problem.

    if I add the "MYOO" into the PMLK kernel than we really see if the tcl "thread" or the tcl "oo" is
    the key problem.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From aotto1968@21:1/5 to All on Sat Nov 2 23:56:57 2024
    On 02.11.24 23:42, aotto1968 wrote:
    On 02.11.24 22:52, Gerald Lester wrote:
    *Tcl* is still far behind, even the new *Ruby* is faster.

    : http://thedev.nhi1.de/theLink/main/md_docs_2main_2README__PERFORMANCE.htm#README_PERFORMANCE

    The reason for the performance problem with *Tcl* is still the same:

    1. The "thread" support has an performance "problem" (R=with thread, A=without thread)

                 |   send     send     send     send    create    create data     data
                 |  NOTHING   END    CALLBACK   WAIT    PARENT    CHILD BUS      BFL
                 | -------- -------- -------- -------- --------- -------- -------- --------

      R: Tcl     |   332380   190834   120565    61112      132    23589 43077    42926
      A: Tcl     |   427613   247405   137936    70103      132    24716 48329    47938

       Ruby and Python both support threads in the language kernel by default and it seems to be working

      R: Python  |   493313   315040   160869    75802      103    21982 68504    65800
      R: Ruby    |   436564   301587   165921    77032       52    16330 71040    63967

    You do realize comparing Tcl with "thread" support and Python/Ruby with their "thread" support is comparing apples to potatoes.

    Tcl threads are apartment model where Python/Ruby are a shared memory model.  Tcl threads are "heavier" but easier to program
    and debug since it is very hard to make them step on themselves -- something that is ridiculously easier to do by accident in
    the other languages.

    just to be clear the tests itself does *not* using any kind of *thread* related feature …

    | I just say that an thread-enabled-tcl is much slower than Py/Rb *but* beside the *thread*
    | support the tcl OO model seems to an additional problem.

    if I add the "MYOO" into the PMLK kernel than we really see if the tcl "thread" or the tcl "oo" is
    the key problem.

    Just an other "hint" that tcl-oo is the "key" problem are the both last columns.

    BUS → is a object filled in a serialized manner with data (internal build ob an continuous memory block of data)
    BUF → is a object like an "c-array" filled with independent objects (internal an array of object-pointers)

    as you see in RB and PY the BUS is significant faster than BFL, because the BUS just deal with ONE object.
    *but* if you look to *tcl* there is *no* change between *BFL* and *BUS*

    this is a CLEAR SIGN that the tcl-oo "overhead" eats all the performance and NOT the thread.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From aotto1968@21:1/5 to All on Tue Nov 12 10:04:06 2024
    Nice bug test by TEST.suite - C, JAVA and TCL work together like ONE single application.


    https://www.facebook.com/permalink.php?story_fbid=pfbid0ve6DHeZdG2sLx7KiMDf4x97YKcEHvqqE13AftGZ2agKPdrreKVvjbNf34JqYEeCal&id=100069563501101

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)