[Twisted-Python] pushing out same message on 100k TCPs

Corbin Simpson mostawesomedude at gmail.com
Fri Feb 10 12:32:57 EST 2012


AFAIK that's not possible in TCP, only in multicast, and the kernel
will make copies of that string no matter what, but I am highly
unknowledgeable in this area.

On 2/10/12, Tobias Oberstein <tobias.oberstein at tavendo.de> wrote:
> Hi there,
>
> what is the most efficient/performant way of doing the following?
>
> I have a short message prepared .. say a string of 100 octets.
> I want to push out that _same_ string on 100k connected TCPs (on a server).
>
> ==
>
> My thinking was: ideally, the 100 bytes would be transferred to kernel/NIC
> space
> just _once_, and then the kernel is only told to resend that buffer on the
> 100k
> connected TCPs.
>
> Does that make sense, is that even possible, with Twisted, or in general?
>
> ==
>
> Currently I do the naive thing: transport.write(msg) x 100k times .. which I
> guess
> involves quite some copying around and user to kernel space transitions ..
>
> \Tobias
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>


-- 
When the facts change, I change my mind. What do you do, sir? ~ Keynes

Corbin Simpson
<MostAwesomeDude at gmail.com>



More information about the Twisted-Python mailing list