Os Grupos Google já não suportam novas publicações ou subscrições da Usenet. O conteúdo anterior permanece visível.
Dismiss

FYI: doubleplusgood TCL socket performance Windows 10

84 visualizações
Ir para a primeira mensagem não lida

Ralf Fassel

não lida,
11/04/2019, 12:35:4611/04/19
para
I'm in the middle of rolling out a high-data-rate application which we
originally provided on Windows-7. The TCL socket performance (of course
most probably the underlying Windows-7 TCP/IP stack) was not good enough
for the high data rates (Gigabit ethernet, using up to 100MByte/s).
Therefore we successfully used the iocpsock extension there (which
basically implements a multi-threaded double-buffer reading).

Now on Windows 10 I found that the plain TCL socket performance (of
course most probably the underlying Windows-10 TCP/IP stack) has greatly
improved and can cope with Gigabit in a single-threaded application.
I'm getting datarates above 100MByte/s, dumping them in parallel to SSD
and serving a responsive Tk gui. Sometimes the earth *is* a disc... :-)

Needless to say that the same hardware running under Linux never had any
problems with these data rates...

R'

Harald Oehlmann

não lida,
14/04/2019, 05:40:3314/04/19
para
Ralf,

this is surprising !

I added your text on this ticket, where information on the plan
"iocpsock to TCL core" is collected:

https://core.tcl.tk/tcl/tktview/fc3c425cde46c6996c8543f701fcbeafd2b7ee5e

Thanks,
Harald

tombert

não lida,
14/04/2019, 18:17:4314/04/19
para
Just for completeness, I had an issue with Nagle's algorithm which I had to disable also on linux to get full performance.
https://groups.google.com/forum/#!topic/comp.lang.tcl/xtVodiKNr0I



Ralf Fassel

não lida,
15/04/2019, 09:49:1815/04/19
para
* Harald Oehlmann <wort...@yahoo.de>
| Am 11.04.2019 um 18:35 schrieb Ralf Fassel:
[...]
| > Now on Windows 10 I found that the plain TCL socket performance (of
| > course most probably the underlying Windows-10 TCP/IP stack) has greatly
| > improved and can cope with Gigabit in a single-threaded application.
| > I'm getting datarates above 100MByte/s, dumping them in parallel to SSD
| > and serving a responsive Tk gui.
| >
--<snip-snip>--
>
| Ralf,
>
| this is surprising !
>
| I added your text on this ticket, where information on the plan
| "iocpsock to TCL core" is collected:
>
| https://core.tcl.tk/tcl/tktview/fc3c425cde46c6996c8543f701fcbeafd2b7ee5e

In addition to my observation that I get full channel performance with
plain TCL sockets on Windows 10, iocpsock in zero-byte receive mode
maxes out at about 44MByte/s, reason unknown. I had no time to
investigate further since plain TCL works just fine...

I'm using a patched TCL which allows up to 10MB as -buffering for any
channel (instead of the default 1MB), but that was also the case before
on Windows-7 when plain TCL did not work and iocpsock did.

I have added this information to the above ticket as well.

R'

Harald Oehlmann

não lida,
15/04/2019, 10:14:5215/04/19
para
I would be interested how iocpsock performs on Windows 10.
That is quite important to find reasons to implement it or not.

Thanks,
Harald

0 mensagens novas