Re: [quicwg/base-drafts] DATA frame encoding is inefficient for long dynamically generated bodies (#1885)

Dmitri Tikhonov <notifications@github.com> Fri, 19 October 2018 12:35 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE18D127333 for <quic-issues@ietfa.amsl.com>; Fri, 19 Oct 2018 05:35:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.064
X-Spam-Level:
X-Spam-Status: No, score=-3.064 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.064, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xFjvZj_MfwbN for <quic-issues@ietfa.amsl.com>; Fri, 19 Oct 2018 05:35:40 -0700 (PDT)
Received: from o11.sgmail.github.com (o11.sgmail.github.com [167.89.101.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82174124C04 for <quic-issues@ietf.org>; Fri, 19 Oct 2018 05:35:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=aqo/MMJGYa6anSAc3aeNOnXdim0=; b=cL6abmWn47NkhUAF OIZ+I5Wh3oKVRUB+V6Uk61sQPV5XPIYLE5aLb5ze2v5wZIfChhqM9ojtykS58bJI TTNRtIESEK/muYThF7otqg+LIQT3iufCtKj69nspxqoXdb+YPg/2xoMkcr2TogGF wpSjqiENf5ecKXBrtrcTWRMr/nE=
Received: by filter1123p1las1.sendgrid.net with SMTP id filter1123p1las1-2949-5BC9CF9A-2A 2018-10-19 12:35:38.83665448 +0000 UTC m=+48585.879145731
Received: from github-lowworker-56a5eb2.cp1-iad.github.net (unknown [192.30.252.33]) by ismtpd0002p1iad1.sendgrid.net (SG) with ESMTP id VsCePVbOR-2vXt-Htr5oSg for <quic-issues@ietf.org>; Fri, 19 Oct 2018 12:35:38.738 +0000 (UTC)
Received: from github.com (localhost [127.0.0.1]) by github-lowworker-56a5eb2.cp1-iad.github.net (Postfix) with ESMTP id 9FC24C095B for <quic-issues@ietf.org>; Fri, 19 Oct 2018 05:35:38 -0700 (PDT)
Date: Fri, 19 Oct 2018 12:35:39 +0000
From: Dmitri Tikhonov <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab2260d3d0132d44d3914c5f52236543ad94fd11a392cf0000000117e1919a92a169ce16286866@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1885/431348155@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1885@github.com>
References: <quicwg/base-drafts/issues/1885@github.com>
Subject: Re: [quicwg/base-drafts] DATA frame encoding is inefficient for long dynamically generated bodies (#1885)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bc9cf9a9d0c8_33ee3fbb9c0d45c02098d9"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: dtikhonov
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2iZiQDOWgbkfIwupemGmrmGpxqRBsslPv9Ts OBBNAwxq1BICBJIcy7z0cAt+mmE0YW9pAYbKbxATNvFWtpX9+1WFIWWKBL+ZX2V1msIjVbZvM9i/dN TyUjq6R3F0u7LyKoOG4tWNhHeBp9qqmu1kO4qaTgSJ9RWhINE7taC6Hj0gmcHwdt0o0SlWYz8bR773 o=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/G85hgrFhmKc_c9x0Wn--7KxvL1g>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Oct 2018 12:35:43 -0000

@LPardue writes:

> I'm sympathetic to the issue but not sure it needs fixing in v1. What is worse case overhead?

When one transfers large files, the overhead incurred by the DATA frames will be on the order of 3 bytes for every `[ ~1 MSS, 2^14 - 1 ]` bytes of content, or between about 0.2% and 0.02%.

@ianswett writes:

> The only two cases I can think of where that wouldn't be true are server push, which is rarely used, and trailers, which are rarely supported and even more rarely used.

The server push will continue to be rarely used if the API makes its use inconvenient.  For example, one can imagine that a server may want to push after sending a few KB of data (a finite DATA frame) -- to parse the HTML for CSS links or what-not.  An implementation that only allows pushes before the first (and only) DATA frame will make using server push in such manner more difficult.  Because it is easier to support only a single DATA frame of indeterminate size, it is likely that many implementations will do just that.

The complexity associated with framing data into DATA frames is real (if you want to do it efficiently), but not insurmountable.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1885#issuecomment-431348155