Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

Q: Why did the germ cross the microscope? A: To get to the other slide.


comp / comp.lang.tcl / Re: Nice example about the "inefficiently" of the tcl "c" api.

SubjectAuthor
* tcl versa python regarding performanceaotto1968
+* Re: tcl versa python regarding performanceundroidwish
|+* Re: tcl versa python regarding performanceaotto1968
||`* Re: tcl versa python regarding performanceaotto1968
|| `* Re: tcl versa python regarding performanceGerald Lester
||  `- Re: tcl versa python regarding performanceaotto1968
|`* Re: tcl versa python regarding performanceAlan Grunwald
| `- Re: tcl versa python regarding performanceGerald Lester
+* Re: tcl versa python regarding performanceaotto1968
|+* Re: tcl versa python regarding performanceaotto1968
||`* Re: tcl versa python regarding performanceaotto1968
|| +- Re: tcl versa python regarding performanceaotto1968
|| `* Re: tcl versa python regarding performancesaito
||  `* Re: tcl versa python regarding performanceaotto1968
||   `* Re: tcl versa python regarding performancesaito
||    `* Re: tcl versa python regarding performanceaotto1968
||     `* Re: tcl versa python regarding performanceundroidwish
||      `* Re: tcl versa python regarding performanceaotto1968
||       `- Re: tcl versa python regarding performanceundroidwish
|`* Re: tcl versa python regarding performanceaotto1968
| `* Re: tcl versa python regarding performanceChristian Gollwitzer
|  +- Re: tcl versa python regarding performanceundroidwish
|  `- Re: tcl versa python regarding performanceaotto1968
+- Re: tcl versa python regarding performanceaotto1968
+* Re: tcl versa python regarding performanceaotto1968
|`* Re: tcl versa python regarding performanceet99
| `- Re: tcl versa python regarding performanceaotto1968
+- Re: tcl versa python regarding performanceaotto1968
+- Re: tcl versa python regarding performanceaotto1968
+- update ...aotto1968
+* Nice example about the "inefficiently" of the tcl "c" api.aotto1968
|`* Re: Nice example about the "inefficiently" of the tcl "c" api.undroidwish
| `* Re: Nice example about the "inefficiently" of the tcl "c" api.Gerald Lester
|  +* Re: Nice example about the "inefficiently" of the tcl "c" api.Christian Gollwitzer
|  |`* Re: Nice example about the "inefficiently" of the tcl "c" api.aotto1968
|  | `* Re: Nice example about the "inefficiently" of the tcl "c" api.undroidwish
|  |  `* Re: Nice example about the "inefficiently" of the tcl "c" api.aotto1968
|  |   `* Re: Nice example about the "inefficiently" of the tcl "c" api.undroidwish
|  |    `* Re: Nice example about the "inefficiently" of the tcl "c" api.aotto1968
|  |     `- Re: Nice example about the "inefficiently" of the tcl "c" api.undroidwish
|  `- Re: Nice example about the "inefficiently" of the tcl "c" api.aotto1968
+- build a perfserver distributionaotto1968
`* Re: tcl versa python regarding performanceaotto1968
 `- Re: tcl versa python regarding performanceaotto1968

Pages:12
Subject: Re: tcl versa python regarding performance
From: et99
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 22:29 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: et99@rocketship1.me (et99)
Newsgroups: comp.lang.tcl
Subject: Re: tcl versa python regarding performance
Date: Sun, 18 Aug 2024 15:29:08 -0700
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <v9tsjk$2hpva$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <v9tmbd$2gvah$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 19 Aug 2024 00:29:09 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="377c3221576122287bb6fb39e729df9f";
logging-data="2680810"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ITFsl5fkdqkT36R+N/7Tn"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:84LTRvA9QjemDWAjA5kVPPzjUzU=
Content-Language: en-US
In-Reply-To: <v9tmbd$2gvah$1@dont-email.me>
View all headers

On 8/18/2024 1:42 PM, aotto1968 wrote:
>
> add some documentation regarding the performance testing:
> -> http://thedev.nhi1.de/theLink/main/md_docs_2main_2README__PERFORMANCE.htm

I recently wrote some C code using Visual Studio 2022 and they have a wonderful performance profiler. I was able to determine that 80% of the cost of the module I was developing was caused by calls to some library routines I was using. By writing my own versions that didn't need to be so generalized, I got that down to 10%.

One problem was that once I turned on the compiler optimization, the profiler became pretty much worthless to measure my own code's performance, so I couldn't get that 10% any lower.

But it would be kinda cool to try using those VS tools on the tcl source code, but I don't know of any way to build tcl inside VS where one could use those tools.

Subject: Re: tcl versa python regarding performance
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 19 Aug 2024 12:26 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: tcl versa python regarding performance
Date: Mon, 19 Aug 2024 14:26:39 +0200
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <v9vdm0$2s3fq$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <v9tmbd$2gvah$1@dont-email.me>
<v9tsjk$2hpva$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 19 Aug 2024 14:26:41 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="0ec7808473b1eddd101e5151b0e34185";
logging-data="3018234"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19A6ZWnIwPEsotCLkXKra2XCMQDm17OvSc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:5ieYSuN2kSSd4Kh5MvXA+kImhB8=
In-Reply-To: <v9tsjk$2hpva$1@dont-email.me>
Content-Language: en-US
View all headers

On 19.08.24 00:29, et99 wrote:
> On 8/18/2024 1:42 PM, aotto1968 wrote:
>>
>> add some documentation regarding the performance testing:
>> -> http://thedev.nhi1.de/theLink/main/md_docs_2main_2README__PERFORMANCE.htm
>
>
> I recently wrote some C code using Visual Studio 2022 and they have a wonderful performance profiler. I was able to determine
> that 80% of the cost of the module I was developing was caused by calls to some library routines I was using. By writing my own
> versions that didn't need to be so generalized, I got that down to 10%.
>
> One problem was that once I turned on the compiler optimization, the profiler became pretty much worthless to measure my own
> code's performance, so I couldn't get that 10% any lower.
>
> But it would be kinda cool to try using those VS tools on the tcl source code, but I don't know of any way to build tcl inside
> VS where one could use those tools.
>

With the callgrind tool on linux you can analyze any kind of executable, even executable's without symbols compiled in.

Subject: Re: tcl versa python regarding performance
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Sat, 24 Aug 2024 20:14 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: tcl versa python regarding performance
Date: Sat, 24 Aug 2024 22:14:44 +0200
Organization: A noiseless patient Spider
Lines: 5
Message-ID: <vadevk$1h5lj$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 24 Aug 2024 22:14:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="dd1a7a53cab1eacead1b0200c92b0634";
logging-data="1611443"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+qXT+myIrV9+u6fvAUtCLxhq2L7Uf5Fdk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:bFbX7v15Rbv+wTfyI7Z0Gx56Jz8=
Content-Language: en-US
In-Reply-To: <v9ggb7$2dcu$1@dont-email.me>
View all headers

Enclosed you will find an update of the results of the performance test, with a focus on the description of the tools, tests and
the analysis of the results.

-> http://thedev.nhi1.de/theLink/main/md_docs_2main_2README__PERFORMANCE.htm#performance-server

Subject: Re: tcl versa python regarding performance
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 26 Aug 2024 17:58 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: tcl versa python regarding performance
Date: Mon, 26 Aug 2024 19:58:09 +0200
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <vaifnh$2i63f$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 26 Aug 2024 19:58:09 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="babe9c23d00baba52701409835730264";
logging-data="2693231"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+iGg1pRBvuNqIaQ3bAETt1P5Lolk1S0Bc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:3AOdH5lj4vZK/EbKNMWRRNxYB/8=
In-Reply-To: <v9ggb7$2dcu$1@dont-email.me>
Content-Language: en-US
View all headers

Now it's that time again and I've put a small C++ project in between to slowly but surely make better use of the "kernel" via
the C++ compiler (and some features like templates etc.).

-> http://thedev.nhi1.de/NHI1/main/index.htm

The performance code has been revised again and the unnecessary TCP tests are placed behind the UDS tests. With the C++ "agile"
kernel, C++ is now on a par with C, while using a much more user-friendly programming interface.

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

Also important, the ALC (All-Language Compiler) compiler was written in TCL.

Subject: update ...
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Fri, 6 Sep 2024 08:32 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: update ...
Date: Fri, 6 Sep 2024 10:32:50 +0200
Organization: A noiseless patient Spider
Lines: 7
Message-ID: <vbeeni$one7$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 06 Sep 2024 10:32:51 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4263aaf3b0413c1000797201802cbbc6";
logging-data="810439"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ol5Tyck6g3AnSKDhLaKRJ3LdxUGsJn+I="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:NNKdgDtPEI9Y7Nv1Wz43UAYH+PA=
In-Reply-To: <v9ggb7$2dcu$1@dont-email.me>
Content-Language: en-US
View all headers

short update

When adding the new option "__parser__(null-allowed)" I now get a nice (but still incorrect) error message. It is important to
note, however, that I can see the stack trace across TCL and C code. In fact, the Programming Language Micro Kernel (PLMK) does
not care which target language is involved.

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

Subject: Nice example about the "inefficiently" of the tcl "c" api.
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Fri, 6 Sep 2024 20:36 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Nice example about the "inefficiently" of the tcl "c" api.
Date: Fri, 6 Sep 2024 22:36:27 +0200
Organization: A noiseless patient Spider
Lines: 75
Message-ID: <vbfp4d$utpf$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 06 Sep 2024 22:36:30 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4263aaf3b0413c1000797201802cbbc6";
logging-data="1013551"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18MgXA4sGLCW3Mha8TclzIiFy8b/v+cdbU="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:9iulK3SoOX5+MMW3mVc/NlLkWds=
In-Reply-To: <v9ggb7$2dcu$1@dont-email.me>
Content-Language: en-US
View all headers

Down is the "C" code of the C-Function to test the an "object" to be valid.

1. in "python"

bool MK(TestObject) (
PyObject * pyO,
PyTypeObject * typeO,
MK_OBJ * objP,
MkTestClassE * flagP
) {
MkTestClassE flag = MkTestClassE_NONE_OBJECT;
MK_OBJ obj = NULL;
if (pyO == Py_None) {
flag=MkTestClassE_NULL; goto end;
}
if (!PyObject_TypeCheck(pyO,typeO)) {
flag=MkTestClassE_WRONG_CLASS; goto end;
}
MK_MNG objM = VAL2MNG(pyO);
if (objM == NULL) { flag=MkTestClassE_NULL ; goto end; };
obj = MkObj(objM);
if (obj == NULL) { flag=MkTestClassE_INVALID_SIGNATURE ; goto end; };
flag = MkTestClassE_OK;
end:
if (flagP) *flagP = flag;
if (objP) *objP = obj;
switch(flag) {
case MkTestClassE_NONE_OBJECT : return false;
default : return true;
}
}

2. same in "Tcl"

( tcl "C"-Api has "no" function to test if an object has an "given" type etc. )

bool MK(TestObject) (
OT_Prefix_ARGS
Tcl_Obj * tclO,
MK_OBJ * objP,
MkTestClassE * flagP
) {
MkTestClassE flag = MkTestClassE_NONE_OBJECT;

int len=0;
MK_STRN str = Tcl_GetStringFromObj(tclO,&len);
if (len == 0 || MkStringIsNULL(MkStringCreate(len,str))) {
flag=MkTestClassE_NULL; goto end;
}

Tcl_Object tclObj = Tcl_GetObjectFromObj (interp, tclO);
if (tclObj == NULL) {
Tcl_ResetResult(interp);
flag=MkTestClassE_NONE_OBJECT; goto end;
};

objM = Tcl_ObjectGetMetadata(tclObj, &MK(AtomMeta));
/* NULL or wrong class etc */
if (objM == NULL) { flag=MkTestClassE_NULL ; goto end; };

objM = MkObj(objM);
if (objM == NULL) { flag=MkTestClassE_INVALID_SIGNATURE ; goto end; };

flag = MkTestClassE_OK;
if (objP) *objP = objM;

end:
if (flagP) *flagP = flag;
switch(flag) {
case MkTestClassE_NONE_OBJECT : return false;
default : return true;
}
}

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: undroidwish
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Sun, 8 Sep 2024 13:04 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: undroidwish@googlemail.com (undroidwish)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Sun, 8 Sep 2024 15:04:56 +0200
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <vbk7dp$1u949$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 08 Sep 2024 15:04:57 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="a9c496571cf78af8f41c5880cdfd7ce3";
logging-data="2040969"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18jBZqheU6Yna+qdf3A4JWojSZxXs069Wo="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Cancel-Lock: sha1:XLbqd4mRdpY6d4HX7bKRB7n+kTs=
Content-Language: en-US
In-Reply-To: <vbfp4d$utpf$1@dont-email.me>
View all headers

On 9/6/24 22:36, aotto1968 wrote:

> Down is the "C" code of the C-Function to test the an "object" to be valid.
> ...

Hmm, to judge the "efficiently" of the tcl "c" api is between difficult
and impossible due to your "cryptically" "c" code snippets. In other
words, more context would be of tremendous help. So where is the beef?
Or ham, or even spam?

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: Gerald Lester
Newsgroups: comp.lang.tcl
Organization: fastusenet - www.fastusenet.org
Date: Sun, 8 Sep 2024 13:26 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!panix!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx03.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Newsgroups: comp.lang.tcl
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me>
Content-Language: en-US
From: Gerald.Lester@gmail.com (Gerald Lester)
In-Reply-To: <vbk7dp$1u949$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 17
Message-ID: <WBhDO.40879$g_vf.9825@fx03.iad>
X-Complaints-To: abuse@fastusenet.org
NNTP-Posting-Date: Sun, 08 Sep 2024 13:26:14 UTC
Organization: fastusenet - www.fastusenet.org
Date: Sun, 8 Sep 2024 08:26:14 -0500
X-Received-Bytes: 1377
View all headers

On 9/8/24 08:04, undroidwish wrote:
> On 9/6/24 22:36, aotto1968 wrote:
>
>> Down is the "C" code of the C-Function to test the an "object" to be
>> valid.
>> ...
>
> Hmm, to judge the "efficiently" of the tcl "c" api is between difficult
> and impossible due to your "cryptically" "c" code snippets. In other
> words, more context would be of tremendous help. So where is the beef?
> Or ham, or even spam?

Others, including myself, have asked him for the Tcl and Python code he
is using to get his measurements -- he has consistently refused to
supply the code.

Long and short, to me this is just spam.

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: Christian Gollwitzer
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Sun, 8 Sep 2024 17:10 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: auriocus@gmx.de (Christian Gollwitzer)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Sun, 8 Sep 2024 19:10:43 +0200
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <vbklqj$20bs6$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 08 Sep 2024 19:10:43 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="a2958f0d08a3a8363f74422d292ffcf4";
logging-data="2109318"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19OdbvlM3/eG/mCCVAD9Nq6A1EM3tWtZDo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:oHYAzSLM0Bp0YoTKCTxGXdDrJKM=
In-Reply-To: <WBhDO.40879$g_vf.9825@fx03.iad>
View all headers

Am 08.09.24 um 15:26 schrieb Gerald Lester:
> On 9/8/24 08:04, undroidwish wrote:
>> On 9/6/24 22:36, aotto1968 wrote:
>>
>>> Down is the "C" code of the C-Function to test the an "object" to be
>>> valid.
>>> ...
>>
>> Hmm, to judge the "efficiently" of the tcl "c" api is between difficult
>> and impossible due to your "cryptically" "c" code snippets. In other
>> words, more context would be of tremendous help. So where is the beef?
>> Or ham, or even spam?
>
> Others, including myself, have asked him for the Tcl and Python code he
> is using to get his measurements -- he has consistently refused to
> supply the code.
>
> Long and short, to me this is just spam.

Also my conclusion. As far as I understand it, he has written his own
warpper generator - something like SWIG - and calls ist "universal
compiler" or similar names. His Tcl wrappers are much slower than his
Python wrappers. It seems that he creates TclOO objects in his code. I
would suggest to simply use SWIG and then talk about the performance. My
guess is that SWIG wrappers will not show any difference between Tcl and
Python (because they are not based on TclOO in Tcl, which is not
necessary to get an OO interface).

Christian

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 06:04 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 08:04:32 +0200
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <vbm35g$2a7ue$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
<vbklqj$20bs6$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 08:04:32 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fb882121e9a8679b7ed7c229a0766461";
logging-data="2432974"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18IfH4Wz83+d87ckp2SViAgsSdUyFiMeBw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:DzBY649qsfuvynXJP8S7+zo3HBw=
Content-Language: en-US
In-Reply-To: <vbklqj$20bs6$1@dont-email.me>
View all headers

On 08.09.24 19:10, Christian Gollwitzer wrote:
>
> Also my conclusion. As far as I understand it, he has written his own warpper generator - something like SWIG - and calls ist
> "universal compiler" or similar names. His Tcl wrappers are much slower than his Python wrappers. It seems that he creates TclOO
> objects in his code. I would suggest to simply use SWIG and then talk about the performance. My guess is that SWIG wrappers will
> not show any difference between Tcl and Python (because they are not based on TclOO in Tcl, which is not necessary to get an OO
> interface).
>

SWIG is far less than ALC but you are right TCL is much slower than PYTHON in C integration. it is an "design" issue of the API
because in PY all (basic) objects are instances and these instances are defined in C. The tcl OO is like an and-on to the TCL
language and in PY it IS the PY language.

I posted the code above just to show some simple facts:
1. Tcl has no "NULL" object → "NULL" is not even defined in Tcl
2. Tcl has no C-API to get/compare a "TYPE" of an object like Py_TYPE.
3. even to get an simple pointer from an object is just a C cast in PY and a
HASH table lookup in TCL

tcl has an advantage that TCL has an usable THREAD interface BUT this thread interface "cost" ~30% performance
compared to non-thread.

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 08:09 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 10:09:12 +0200
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <vbmaf8$2b9tt$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 10:09:12 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fb882121e9a8679b7ed7c229a0766461";
logging-data="2467773"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+lM1dgnMJCQLy3X/2ik2pdu/pqsOBtboM="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:rzLb0Ic/H5W6G3z3gwwRDYcji0s=
In-Reply-To: <WBhDO.40879$g_vf.9825@fx03.iad>
Content-Language: en-US
View all headers

On 08.09.24 15:26, Gerald Lester wrote:
> On 9/8/24 08:04, undroidwish wrote:
>> On 9/6/24 22:36, aotto1968 wrote:
>>
>>> Down is the "C" code of the C-Function to test the an "object" to be valid.
>>> ...
>>
>> Hmm, to judge the "efficiently" of the tcl "c" api is between difficult
>> and impossible due to your "cryptically" "c" code snippets. In other
>> words, more context would be of tremendous help. So where is the beef?
>> Or ham, or even spam?
>
> Others, including myself, have asked him for the Tcl and Python code he is using to get his measurements -- he has consistently
> refused to supply the code.
>
> Long and short, to me this is just spam.

I understand that the "missing-code" thing is just a kind of "self-protection" issue

→ If you make an performance check between TCL and JAVA you don't start with "analyze the JAVA kernel" etc
→ If I post a result this is the the result *AFTER* all known optimization was applied etc
→ If I write that TCL is ~30% slower as PY than it is so.
→ Even if I would send you the PLMK-kernel-code you probably will never understand this but this is no problem
because you also drive a car without "understand" the internals of a car and if I say that PORSCHE
is fasten than "VAUXHALL" than nobody will say:
-> "I don't accept this until I have checked the VAUXHALL design specs".

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: undroidwish
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 09:11 UTC
References: 1 2 3 4 5 6
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: undroidwish@googlemail.com (undroidwish)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 11:11:57 +0200
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <vbme4u$2bu0v$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
<vbklqj$20bs6$1@dont-email.me> <vbm35g$2a7ue$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 11:11:58 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="1be0eee9b31194ca1f1ab3d8533724ac";
logging-data="2488351"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18T+pmi2JXLw+xKGVAYSb9POco4D+/vCMQ="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Cancel-Lock: sha1:gipYFCc1OHmr4UUVJoyr2OHR4q0=
Content-Language: en-US
In-Reply-To: <vbm35g$2a7ue$1@dont-email.me>
View all headers

On 9/9/24 08:04, aotto1968 wrote:

> ...
> I posted the code above just to show some simple facts:
> 1. Tcl has no "NULL" object → "NULL" is not even defined in Tcl
> ...

I'd call this a non-argument performance and otherwise given that
even the inventor of NULL regretted this his invention, see

https://en.wikipedia.org/wiki/Tony_Hoarehttps://en.wikipedia.org/wiki/Tony_Hoare

in this quote

"I call it my billion-dollar mistake. It was the invention of the null
reference in 1965. At that time, I was designing the first comprehensive
type system for references in an object oriented language (ALGOL W). My
goal was to ensure that all use of references should be absolutely safe,
with checking performed automatically by the compiler. But I couldn't
resist the temptation to put in a null reference, simply because it was
so easy to implement. This has led to innumerable errors,
vulnerabilities, and system crashes, which have probably caused a
billion dollars of pain and damage in the last forty years."

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 09:59 UTC
References: 1 2 3 4 5 6 7
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 11:59:45 +0200
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <vbmguh$2c7fj$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
<vbklqj$20bs6$1@dont-email.me> <vbm35g$2a7ue$1@dont-email.me>
<vbme4u$2bu0v$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 11:59:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fb882121e9a8679b7ed7c229a0766461";
logging-data="2498035"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/lgRHR19nBuihRmZmDuPkjr7YHVLPByJc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:QpeGDz3gQnoRlgkmH7Fg1e9X5oc=
Content-Language: en-US
In-Reply-To: <vbme4u$2bu0v$1@dont-email.me>
View all headers

On 09.09.24 11:11, undroidwish wrote:
> On 9/9/24 08:04, aotto1968 wrote:
>
>> ...
>> I posted the code above just to show some simple facts:
>> 1. Tcl has no "NULL" object → "NULL" is not even defined in Tcl
>> ...
>
> I'd call this a non-argument performance and otherwise given that
> even the inventor of NULL regretted this his invention, see
>
> https://en.wikipedia.org/wiki/Tony_Hoarehttps://en.wikipedia.org/wiki/Tony_Hoare
>
> in this quote
>
> "I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the
> first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of
> references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the
> temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors,
> vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."

→ you compare "apple" with "orange"

a NULL in "C" is not the same as an "None" in python or a "null" in java
→ this guy complain about the "NULL-POINTER" mistake which crate a dump in misuse etc
→ the "NULL" I speak about is to introduce a "non existing reference" as an information which is **not**
a NULL-pointer is "C".

example: if you lookup "otto" in a database than you get a "non existing NULL" back it "otto" does not exists
TCL has *no** default "NULL" type to indicate this issue, TCL can give an empty string back like "" **but**
if the "empty string" is the real value for "otto" in the database THAN you can NOT distinguish the both cases
1) "otto" does NOT exists
2) "otto" exists BUT has the value ""

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: undroidwish
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 10:08 UTC
References: 1 2 3 4 5 6 7 8
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: undroidwish@googlemail.com (undroidwish)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 12:08:28 +0200
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <vbmhet$2ccme$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
<vbklqj$20bs6$1@dont-email.me> <vbm35g$2a7ue$1@dont-email.me>
<vbme4u$2bu0v$1@dont-email.me> <vbmguh$2c7fj$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 12:08:29 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="1be0eee9b31194ca1f1ab3d8533724ac";
logging-data="2503374"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/AVx98Q/UegS0V/tHNsvjLqXgoPq8WuMs="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Cancel-Lock: sha1:gFZvx8iYXauTmJ8MKzsobJpp4oE=
Content-Language: en-US
In-Reply-To: <vbmguh$2c7fj$1@dont-email.me>
View all headers

On 9/9/24 11:59, aotto1968 wrote:

>   example: if you lookup "otto" in a database than you get a "non
> existing NULL" back it "otto" does not exists
>            TCL has *no** default "NULL" type to indicate this issue,
> TCL can give an empty string back like "" **but**
>            if the "empty string" is the real value for "otto" in the
> database THAN you can NOT distinguish the both cases
>            1) "otto" does NOT exists
>            2) "otto" exists BUT has the value ""

Interesting, you're now talking about a result set, which could be
expressed as a Tcl list. An empty result set is an empty list, then.
In your lookup example a non-empty result has exactly one list element.
So where's your point?

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 12:30 UTC
References: 1 2 3 4 5 6 7 8 9
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 14:30:07 +0200
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <vbmpof$2dc6o$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
<vbklqj$20bs6$1@dont-email.me> <vbm35g$2a7ue$1@dont-email.me>
<vbme4u$2bu0v$1@dont-email.me> <vbmguh$2c7fj$1@dont-email.me>
<vbmhet$2ccme$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 14:30:07 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fb882121e9a8679b7ed7c229a0766461";
logging-data="2535640"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+CRLg/OAkLOoyDKACtjYvswc+eKJNPpTI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:vRoKprUfFiHcvh9tGjOtsR3WOQk=
In-Reply-To: <vbmhet$2ccme$1@dont-email.me>
Content-Language: en-US
View all headers

On 09.09.24 12:08, undroidwish wrote:
> On 9/9/24 11:59, aotto1968 wrote:
>
>>    example: if you lookup "otto" in a database than you get a "non existing NULL" back it "otto" does not exists
>>             TCL has *no** default "NULL" type to indicate this issue, TCL can give an empty string back like "" **but**
>>             if the "empty string" is the real value for "otto" in the database THAN you can NOT distinguish the both cases
>>             1) "otto" does NOT exists
>>             2) "otto" exists BUT has the value ""
>
> Interesting, you're now talking about a result set, which could be
> expressed as a Tcl list. An empty result set is an empty list, then.
> In your lookup example a non-empty result has exactly one list element.
> So where's your point?

→ ok, let make is very very simple.

near every programming language have some kind of "null" object/value/etc defined,
→ do you think the whole programming world is "stupid" ?

Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
From: undroidwish
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Mon, 9 Sep 2024 13:06 UTC
References: 1 2 3 4 5 6 7 8 9 10
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: undroidwish@googlemail.com (undroidwish)
Newsgroups: comp.lang.tcl
Subject: Re: Nice example about the "inefficiently" of the tcl "c" api.
Date: Mon, 9 Sep 2024 15:06:32 +0200
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <vbmrsp$2ds68$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbfp4d$utpf$1@dont-email.me>
<vbk7dp$1u949$1@dont-email.me> <WBhDO.40879$g_vf.9825@fx03.iad>
<vbklqj$20bs6$1@dont-email.me> <vbm35g$2a7ue$1@dont-email.me>
<vbme4u$2bu0v$1@dont-email.me> <vbmguh$2c7fj$1@dont-email.me>
<vbmhet$2ccme$1@dont-email.me> <vbmpof$2dc6o$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Sep 2024 15:06:34 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="1be0eee9b31194ca1f1ab3d8533724ac";
logging-data="2552008"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/aj2xpr+wNkGuENw84PBY1gejoX/hroSM="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Cancel-Lock: sha1:91acnrXRjAwZ1bTE2S/4yE+iIjM=
Content-Language: en-US
In-Reply-To: <vbmpof$2dc6o$1@dont-email.me>
View all headers

On 9/9/24 14:30, aotto1968 wrote:

> ...
> → ok, let make is very very simple.
>
> near every programming language have some kind of "null"
> object/value/etc defined,
> → do you think the whole programming world is "stupid" ?

You gave an example of a database query, which can produce a
result set with one item or nothing. Which in my argument fits
perfectly in a representation as Tcl list.

Now you seem to complain, that the Tcl paradigm does not have
a NULL thing. Which depending on context could well be an
empty list, as I've tried to explain, BTW.

And let me be clear: my thoughts about the whole programming
world were not part of the discussion.

So I interpret your last posting as pure trolling.

Congratulation, you have qualified for my ignore list. Good riddance!

Subject: build a perfserver distribution
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Tue, 10 Sep 2024 20:51 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: build a perfserver distribution
Date: Tue, 10 Sep 2024 22:51:25 +0200
Organization: A noiseless patient Spider
Lines: 6
Message-ID: <vbqbgd$35e7k$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 10 Sep 2024 22:51:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e54636e2cfaa54a7ff797578b47041d3";
logging-data="3324148"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18An8S3B8eCIX5jpNQ2O5TuXdZF7yLDn7Y="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:wb7f2/YehBsoXmwKiKucpnRiOtw=
Content-Language: en-US
In-Reply-To: <v9ggb7$2dcu$1@dont-email.me>
View all headers

To give some substance to the amazement about the "performance test", I am in the process of building a "perfserver
distribution". The problem with something like this is that the files have to be extracted from the build environment and then
moved to a completely new location to "work".

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

Subject: Re: tcl versa python regarding performance
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Wed, 11 Sep 2024 19:40 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: tcl versa python regarding performance
Date: Wed, 11 Sep 2024 21:40:32 +0200
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <vbsrng$3p69s$1@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 11 Sep 2024 21:40:32 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="0b3dd80f4d73dc3bd2d05a65b845b8c3";
logging-data="3971388"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Uc03DY2VSAV4v0NGzLuP9JuF6YB3pANI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:fCy/jrFlKkSKPujsqPdBlZjGcSI=
Content-Language: en-US
In-Reply-To: <v9ggb7$2dcu$1@dont-email.me>
View all headers

The really impressive thing about the result of the new JAVA performance test is that PYTHON (a scripting language) is on the
SAME performance level as JAVA (a compiled language). PYTHON has obviously invested heavily in performance optimization.

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:27:41 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

pipe:
R: C | 530275 400403 222971 90707 3859 37965 89818 81581
R: C++ | 528852 396473 219499 89816 2470 36635 89619 89994
R: Python | 492501 304463 159169 73570 101 22109 68875 66767
R: Tcl | 306202 144504 78180 49443 81 18337 25233 25242
R: Java | 474683 313162 170157 79324 69 19772 72242 72031

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:27:41 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

uds_fork:
R: C | 524971 396466 224320 89966 11814 38479 83146 90475
R: C++ | 520668 390057 216610 89014 8712 36018 89073 89726
R: Python | 494415 314163 160014 75356 344 22197 69082 67205
R: Tcl | na. na. na. na. na. na. na. na.
R: Java | na. na. na. na. na. na. na. na.

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:27:41 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

uds_thread:
R: C | 504425 375809 212943 88359 32173 37978 87952 88606
R: C++ | 494135 365464 205933 88317 31582 35011 88070 73875
R: Python | na. na. na. na. na. na. na. na.
R: Tcl | 296177 139328 75300 47983 82 18166 24879 24783
R: Java | 463538 309542 161559 79059 19282 19779 72112 71591

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:27:41 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

uds_spawn:
R: C | 530643 399273 228727 90660 3795 37906 89667 90450
R: C++ | 522584 389941 218076 89381 2473 36351 88390 89105
R: Python | 494427 312230 137856 70085 101 22259 68911 66719
R: Tcl | 315789 147933 79493 49956 79 17944 23599 25445
R: Java | 475697 306405 161973 79067 68 18112 67439 66953

Subject: Re: tcl versa python regarding performance
From: aotto1968
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Wed, 11 Sep 2024 20:05 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: aotto1968@t-online.de (aotto1968)
Newsgroups: comp.lang.tcl
Subject: Re: tcl versa python regarding performance
Date: Wed, 11 Sep 2024 22:05:00 +0200
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <vbst5c$3p69s$2@dont-email.me>
References: <v9ggb7$2dcu$1@dont-email.me> <vbsrng$3p69s$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 11 Sep 2024 22:05:01 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="0b3dd80f4d73dc3bd2d05a65b845b8c3";
logging-data="3971388"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+oK41nOGVKeXvr8oRlLKgLBUT+LUsL3As="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:VS9GqA1SrmteoEI9zD5K2XfyUIY=
In-Reply-To: <vbsrng$3p69s$1@dont-email.me>
Content-Language: en-US
View all headers

Quick update, I removed the "--enable-symboles" from TCL in the release build and the performance has improved significantly but
it is still ~25% behind PYTHON and JAVA. Apparently "--enable-symboles" has a significant impact on performance in TCL, which is
good to know because it is often delivered with "--enable-symboles" in order to better analyze an error later during operation.

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:54:55 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

pipe:
R: C | 530275 400403 222971 90707 3859 37965 89818 81581
R: C++ | 528852 396473 219499 89816 2470 36635 89619 89994
R: Python | 492501 304463 159169 73570 101 22109 68875 66767
R: Tcl | 402439 236730 127712 59048 133 24002 44337 43762
R: Java | 474683 313162 170157 79324 69 19772 72242 72031

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:54:55 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

uds_fork:
R: C | 524971 396466 224320 89966 11814 38479 83146 90475
R: C++ | 520668 390057 216610 89014 8712 36018 89073 89726
R: Python | 494415 314163 160014 75356 344 22197 69082 67205
R: Tcl | na. na. na. na. na. na. na. na.
R: Java | na. na. na. na. na. na. na. na.

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:54:55 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

uds_thread:
R: C | 504425 375809 212943 88359 32173 37978 87952 88606
R: C++ | 494135 365464 205933 88317 31582 35011 88070 73875
R: Python | na. na. na. na. na. na. na. na.
R: Tcl | 390334 224660 123795 63402 139 24137 44490 38410
R: Java | 463538 309542 161559 79059 19282 19779 72112 71591

x86_64-suse-linux-gnu | send send send send create create data data
2024-09-11 21:54:55 | NOTHING END CALLBACK WAIT PARENT CHILD BUS BFL
------------------------- | -------- -------- -------- -------- --------- -------- -------- --------

uds_spawn:
R: C | 530643 399273 228727 90660 3795 37906 89667 90450
R: C++ | 522584 389941 218076 89381 2473 36351 88390 89105
R: Python | 494427 312230 137856 70085 101 22259 68911 66719
R: Tcl | 402035 234600 126871 63312 134 22768 41101 39604
R: Java | 475697 306405 161973 79067 68 18112 67439 66953

Pages:12

rocksolid light 0.9.8
clearnet tor