Re: [hybi] Framing take IV

Ian Hickson <ian@hixie.ch> Wed, 04 August 2010 01:39 UTC

Return-Path: <ian@hixie.ch>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F17643A6A0E for <hybi@core3.amsl.com>; Tue, 3 Aug 2010 18:39:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.356
X-Spam-Level:
X-Spam-Status: No, score=-2.356 tagged_above=-999 required=5 tests=[AWL=-0.057, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZTRu9KLi-7Hm for <hybi@core3.amsl.com>; Tue, 3 Aug 2010 18:39:15 -0700 (PDT)
Received: from homiemail-a47.g.dreamhost.com (caibbdcaaaaf.dreamhost.com [208.113.200.5]) by core3.amsl.com (Postfix) with ESMTP id B84063A6A09 for <hybi@ietf.org>; Tue, 3 Aug 2010 18:39:15 -0700 (PDT)
Received: from homiemail-a47.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a47.g.dreamhost.com (Postfix) with ESMTP id 92894284065; Tue, 3 Aug 2010 18:39:44 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=hixie.ch; h=date:from:to:cc :subject:in-reply-to:message-id:references:mime-version: content-type; q=dns; s=hixie.ch; b=m9gp9B7zyttPTbmwnon+53B7FZp1W w8veHPyX2VHxx6aeHhGL27YCBZY9Srmyl46N6F1h9Lj+Ux9E3TUsFOttSlYXXK0j LOCLNtVuo8TzNv/iGAjKnltHihUCe7r5E+tooT266J6hGwCxDWdS4vl2plff1yEv PAdgKhaP/QlZ7U=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=hixie.ch; h=date:from:to :cc:subject:in-reply-to:message-id:references:mime-version: content-type; s=hixie.ch; bh=AHBqvnzZTgbtBXl4xd4sezDYMA0=; b=xlo 8r5rLGYs+GNZu5hYNzR363S/SAiO7CW7WSn3o1nImL2/WN6ThtV7+pHa8wn7wTry MR0Idq+WQa6N2+soiPCAsIN/FwBrpVo2GMBlV6ZjRefLyaPHp5iCPdpFh8pX5BbC 0j9++x+vY+bQbdY140Q+8AZjYbut7QKOr5n+dOIk=
Received: from ps20323.dreamhostps.com (ps20323.dreamhost.com [69.163.222.251]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: internal@index.hixie.ch) by homiemail-a47.g.dreamhost.com (Postfix) with ESMTPSA id 83369284063; Tue, 3 Aug 2010 18:39:44 -0700 (PDT)
Date: Wed, 04 Aug 2010 01:39:44 +0000
From: Ian Hickson <ian@hixie.ch>
To: "Ian Fette (イアンフェッティ)" <ifette@google.com>
In-Reply-To: <AANLkTik0-gG-CE5LNt+qDN9X1QupN0dnFtKcbt2athqO@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.1008040134310.5947@ps20323.dreamhostps.com>
References: <AANLkTinyrDoG5d_Ur6HVRy=SgMPjLzJtpJ++Ye=1DQdj@mail.gmail.com> <Pine.LNX.4.64.1008040050040.5947@ps20323.dreamhostps.com> <28A6543A-5CA6-42B7-8D2E-F5511EE20008@apple.com> <AANLkTik0-gG-CE5LNt+qDN9X1QupN0dnFtKcbt2athqO@mail.gmail.com>
Content-Language: en-GB-hixie
Content-Style-Type: text/css
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-1555694626-1563152096-1280885984=:5947"
Cc: hybi@ietf.org
Subject: Re: [hybi] Framing take IV
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Aug 2010 01:39:17 -0000

On Tue, 3 Aug 2010, Ian Fette (ã~B¤ã~B¢ã~C³ã~C~Uã~B§ã~C~Cã~C~Fã~B£) wrote:
> 
> For us it's the number of open sockets on the frontend, plain and 
> simple. Each open socket == more kernel memory for socket buffers. 
> Whereas, if we have multiplexing, I can take in a frame, see what stream 
> it is, send it off to the appropriate backend and be done. Holding open 
> multiple connections for a single user kills us.

We shouldn't design a protocol for the next few decades around a 
limitation of a particular kernel implementation and how it affects one 
particular deployment. Why don't we just change the kernel to send it off 
to the appropriate backend and be done instead of using lots of kernel 
memory for socket buffers?


> At the application level we would need an <iframe> to google.com to get a
> shared worker, and then use postmessage.

On the same timeframe as multiplexing in Web Sockets, we should be able to 
get cross-origin shared workers, so this is a non-issue.


> Plus, if we wanted to multiplex sending large and small data, we would 
> probably have to break up the large data at an application level and 
> re-assemble it at an application level on the server side, and I cannot 
> imagine that being performant.

On the server side you don't have to do it at the application level. You 
have full control over the entire stack from the network fabric up, you 
can implement it however you like.

On the client side, given the right primitives, why can't it be the same 
as if the browser implemented it?


> Again, I'm much more interested in squeezing out every last drop of 
> performance. That's the whole reason for WS in my mind as opposed to 
> existing JS APIs.

It might be your reason for being interested in Web Sockets. It's not the 
whole reason Web Sockets exists, though. It's not even the main reason. :-)

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'