Re: Choosing a header compression algorithm
Mark Nottingham <mnot@mnot.net> Fri, 22 March 2013 06:35 UTC
Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4F28811E80A5 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 21 Mar 2013 23:35:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.286
X-Spam-Level:
X-Spam-Status: No, score=-7.286 tagged_above=-999 required=5 tests=[AWL=0.021, BAYES_50=0.001, RCVD_IN_DNSWL_HI=-8, SARE_SPEC_PROLEO_M2=0.692]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iz+D6NNQzTCC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 21 Mar 2013 23:35:08 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 0390B11E80A4 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 21 Mar 2013 23:35:07 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UIvXN-0005ze-ND for ietf-http-wg-dist@listhub.w3.org; Fri, 22 Mar 2013 06:33:13 +0000
Resent-Date: Fri, 22 Mar 2013 06:33:13 +0000
Resent-Message-Id: <E1UIvXN-0005ze-ND@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1UIvX4-0005y0-Fi for ietf-http-wg@listhub.w3.org; Fri, 22 Mar 2013 06:32:54 +0000
Received: from mxout-08.mxes.net ([216.86.168.183]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1UIvX3-0006MF-IM for ietf-http-wg@w3.org; Fri, 22 Mar 2013 06:32:54 +0000
Received: from [192.168.1.80] (unknown [118.209.42.8]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id DB08F509B7 for <ietf-http-wg@w3.org>; Fri, 22 Mar 2013 02:32:10 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <254AABEE-22B9-418E-81B0-2729902C4413@mnot.net>
Date: Fri, 22 Mar 2013 17:32:06 +1100
Content-Transfer-Encoding: quoted-printable
Message-Id: <A14105FB-ED1A-4B70-8840-9648847BCC3A@mnot.net>
References: <254AABEE-22B9-418E-81B0-2729902C4413@mnot.net>
To: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>
X-Mailer: Apple Mail (2.1499)
Received-SPF: pass client-ip=216.86.168.183; envelope-from=mnot@mnot.net; helo=mxout-08.mxes.net
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-3.361, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1UIvX3-0006MF-IM e81d56e2eaafb1c38157ce2ec451cfcc
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Choosing a header compression algorithm
Archived-At: <http://www.w3.org/mid/A14105FB-ED1A-4B70-8840-9648847BCC3A@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17110
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
On 21/03/2013, at 6:11 PM, Mark Nottingham <mnot@mnot.net> wrote: > 1) We need to do apples-to-apples comparison of these compressors to see how they behave under a range of constraints (especially, memory). To this point, a few runs across the header corpus that I collected (http_samples/mnot/*.har), using the current implementations (again, we need to verify these are honouring these limits correctly, and I believe headerdiff is going to be updated): 16384 Byte Buffer ---------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.22 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=16384) 630,668 15.89 | 0.18 0.03 0.76 0.11 headerdiff (buffer=16384) 1,699,918 9.65 | 0.49 0.03 0.90 0.21 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.26 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=16384) 575,345 24.39 | 0.26 0.02 1.06 0.12 headerdiff (buffer=16384) 877,106 24.76 | 0.40 0.04 0.93 0.14 [ Note that the efficiency actually goes *down* on headerdiff for requests when the buffer is larger here; Herve, any idea what's happening there? ] 8192 Byte Buffer ---------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.24 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=8192) 646,431 15.78 | 0.19 0.03 0.76 0.12 headerdiff (buffer=8192) 1,378,622 6.95 | 0.40 0.03 0.92 0.20 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.43 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=8192) 592,260 20.28 | 0.27 0.02 1.06 0.12 headerdiff (buffer=8192) 914,362 15.55 | 0.42 0.05 0.93 0.14 4096 Byte Buffer ---------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.18 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=4096) 665,642 13.35 | 0.19 0.03 0.77 0.12 headerdiff (buffer=4096) 1,406,429 3.92 | 0.41 0.03 0.88 0.18 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.21 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=4096) 610,764 15.48 | 0.28 0.02 1.06 0.13 headerdiff (buffer=4096) 1,009,185 7.58 | 0.46 0.05 0.93 0.13 2048 Byte Buffer ---------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.18 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=2048) 692,579 11.66 | 0.20 0.03 0.77 0.12 headerdiff (buffer=2048) 1,632,783 2.94 | 0.47 0.03 0.90 0.19 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.20 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=2048) 633,785 12.47 | 0.29 0.02 1.22 0.13 headerdiff (buffer=2048) 1,088,829 4.75 | 0.50 0.05 0.93 0.13 1024 Byte Buffer ---------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.22 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=1024) 752,380 11.92 | 0.22 0.03 0.84 0.13 headerdiff (buffer=1024) 1,700,325 1.82 | 0.49 0.03 0.91 0.19 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.23 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=1024) 671,975 11.42 | 0.31 0.02 1.22 0.13 headerdiff (buffer=1024) 1,118,599 3.53 | 0.51 0.05 0.93 0.13 512 Byte Buffer --------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.17 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=512) 1,058,090 14.23 | 0.31 0.04 0.83 0.15 headerdiff (buffer=512) 2,120,833 1.43 | 0.61 0.03 0.93 0.16 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.14 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=512) 721,525 12.22 | 0.33 0.03 1.22 0.13 headerdiff (buffer=512) 1,199,608 2.09 | 0.55 0.05 0.93 0.12 256 Byte Buffer --------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.18 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=256) 1,517,520 18.62 | 0.44 0.04 0.84 0.19 headerdiff (buffer=256) 2,444,376 1.32 | 0.71 0.08 0.95 0.13 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.23 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=256) 856,632 13.21 | 0.39 0.04 1.22 0.14 headerdiff (buffer=256) 1,201,814 1.65 | 0.55 0.05 0.93 0.12 32 Byte Buffer ------------------- * TOTAL: 5948 req messages size time | ratio min max std http1 3,460,925 0.20 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=32) 2,357,457 28.18 | 0.68 0.51 0.84 0.05 headerdiff (buffer=32) 2,791,039 1.16 | 0.81 0.58 0.96 0.08 * TOTAL: 5948 res messages size time | ratio min max std http1 2,186,162 0.21 | 1.00 1.00 1.00 0.00 delta2 (max_byte_size=32) 1,197,019 17.92 | 0.55 0.16 0.89 0.07 headerdiff (buffer=32) 1,434,721 1.32 | 0.66 0.19 0.95 0.07 [ smaller buffer sizes caused errors in delta2 (at least) ] -- Mark Nottingham http://www.mnot.net/
- Re: Choosing a header compression algorithm Stephen Farrell
- Choosing a header compression algorithm Mark Nottingham
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm James M Snell
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm Mark Nottingham
- Re: Choosing a header compression algorithm Roberto Peon
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm Roberto Peon
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm Martin Thomson
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm Mark Nottingham
- Re: Choosing a header compression algorithm Mark Nottingham
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm Roberto Peon
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm James M Snell
- Re: Choosing a header compression algorithm Roberto Peon
- RE: Choosing a header compression algorithm RUELLAN Herve
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm Roberto Peon
- RE: Choosing a header compression algorithm RUELLAN Herve
- Re: Choosing a header compression algorithm Roberto Peon
- Re: Choosing a header compression algorithm James M Snell