Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 44 |
Nodes: | 6 (0 / 6) |
Uptime: | 14:59:06 |
Calls: | 255 |
Files: | 854 |
Messages: | 129,647 |
*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.
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.
this is a CLEAR SIGN that the tcl-oo "overhead" eats all the performance and NOT the thread.