Google 网上论坛不再支持新的 Usenet 帖子或订阅项。历史内容仍可供查看。

FYI: doubleplusgood TCL socket performance Windows 10

已查看 84 次
跳至第一个未读帖子

Ralf Fassel

未读,
2019年4月11日 12:35:462019/4/11
收件人
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

未读,
2019年4月14日 05:40:332019/4/14
收件人
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

未读,
2019年4月14日 18:17:432019/4/14
收件人
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

未读,
2019年4月15日 09:49:182019/4/15
收件人
* 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

未读,
2019年4月15日 10:14:522019/4/15
收件人
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 个新帖子