bohe implementation for compression tests

James M Snell <jasnell@gmail.com> Thu, 10 January 2013 19:11 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 04BBA21F8A54 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 10 Jan 2013 11:11:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.416
X-Spam-Level:
X-Spam-Status: No, score=-7.416 tagged_above=-999 required=5 tests=[AWL=3.182, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BDaJC7mSiB5b for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 10 Jan 2013 11:11:37 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 9333821F8920 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 10 Jan 2013 11:11:31 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1TtNVM-0002Et-GG for ietf-http-wg-dist@listhub.w3.org; Thu, 10 Jan 2013 19:09:32 +0000
Resent-Date: Thu, 10 Jan 2013 19:09:32 +0000
Resent-Message-Id: <E1TtNVM-0002Et-GG@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1TtNVI-0002E8-Op for ietf-http-wg@listhub.w3.org; Thu, 10 Jan 2013 19:09:28 +0000
Received: from mail-ie0-f174.google.com ([209.85.223.174]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1TtNVH-0003YA-Ag for ietf-http-wg@w3.org; Thu, 10 Jan 2013 19:09:28 +0000
Received: by mail-ie0-f174.google.com with SMTP id c11so1286665ieb.33 for <ietf-http-wg@w3.org>; Thu, 10 Jan 2013 11:09:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=+QQ/RVD7cxEAna1NPwgnUjxx8wQ1EDm5qoS/hCpd4CM=; b=feT3uZqR8GfaUho+kWGcvcE7MDLiMnWWiOmFVGUgk9TlgsVPQi/oVJAJLTAdujhGNq JSVKBdF7VbA7Wg3rbf9EpJn3AieBF0cHRQqRdruEA6h27CkROg5k0uCwmPtuBAEkZER3 Okjk6igbRNStNFyELIRr0wpnMeCpiOYsdawrN3Z9SGOIl65V+Yp0DM4/DEa1Iq+iUvuL rnD+nDESwx1J7N3wtMK1/iUPdCSynsmApOX9a8ADX87t35fTK64Blz2N+2HL2gXD/0P+ cxOaMllqq1Up8prq7+BLB9xJ7s7mWvNo3LOcYteiJBCE3H7CaZ+dsm0JFCLY015A7K4D in5A==
Received: by 10.50.150.174 with SMTP id uj14mr6668943igb.19.1357844941608; Thu, 10 Jan 2013 11:09:01 -0800 (PST)
MIME-Version: 1.0
Received: by 10.64.26.137 with HTTP; Thu, 10 Jan 2013 11:08:41 -0800 (PST)
From: James M Snell <jasnell@gmail.com>
Date: Thu, 10 Jan 2013 11:08:41 -0800
Message-ID: <CABP7Rbe-B89vVm8=OnHtAG0Y3G2UOysX+DKaTQ3+rAKBJBJyKA@mail.gmail.com>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="f46d043d644b6797b104d2f3e94c"
Received-SPF: pass client-ip=209.85.223.174; envelope-from=jasnell@gmail.com; helo=mail-ie0-f174.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.710, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1TtNVH-0003YA-Ag 46f3270925fae8e37d2571e4e9bbf807
X-Original-To: ietf-http-wg@w3.org
Subject: bohe implementation for compression tests
Archived-At: <http://www.w3.org/mid/CABP7Rbe-B89vVm8=OnHtAG0Y3G2UOysX+DKaTQ3+rAKBJBJyKA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/15828
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>

I have an initial bohe implementation for the compression tests... it's
very preliminary and uses the same gzip compression as the current spdy3.
I'm going to be playing around with the delta compression mechanism as well
and see how much of an impact that has. Initial results are very promising
but I haven't done much debugging yet. Just wanted folks to know that this
work was underway...

https://github.com/jasnell/compression-test/tree/master/compressor/bohe

Some test runs....

./compare_compressors.py -c bohe -c spdy3 -c delta
../http_samples/mnot/amazon.com.har
732 req messages processed
             compressed | ratio min   max   std
req  bohe        26,122 | 0.13  0.04  0.70  0.08
req delta        33,955 | 0.17  0.02  0.71  0.09
req http1       195,386 | 1.00  1.00  1.00  0.00
req spdy3        27,238 | 0.14  0.04  0.71  0.08

732 res messages processed
             compressed | ratio min   max   std
res  bohe        39,628 | 0.25  0.04  0.66  0.07
res delta        44,499 | 0.28  0.02  0.65  0.09
res http1       159,968 | 1.00  1.00  1.00  0.00
res spdy3        41,325 | 0.26  0.04  0.67  0.08


./compare_compressors.py -c bohe -c spdy3 -c delta
../http_samples/mnot/craigslist.org.har
66 req messages processed
             compressed | ratio min   max   std
req  bohe         1,948 | 0.15  0.06  0.73  0.11
req delta         2,036 | 0.16  0.07  0.71  0.11
req http1        12,894 | 1.00  1.00  1.00  0.00
req spdy3         2,016 | 0.16  0.07  0.75  0.11

66 res messages processed
             compressed | ratio min   max   std
res  bohe         1,786 | 0.18  0.07  0.77  0.13
res delta         2,858 | 0.28  0.08  0.69  0.12
res http1        10,147 | 1.00  1.00  1.00  0.00
res spdy3         1,869 | 0.18  0.09  0.78  0.13


./compare_compressors.py -c bohe -c spdy3 -c delta
../http_samples/mnot/flickr.com.har
438 req messages processed
             compressed | ratio min   max   std
req  bohe        11,988 | 0.10  0.02  0.69  0.07
req delta        26,372 | 0.22  0.01  0.71  0.14
req http1       121,854 | 1.00  1.00  1.00  0.00
req spdy3        12,550 | 0.10  0.02  0.71  0.07

438 res messages processed
             compressed | ratio min   max   std
res  bohe        13,073 | 0.09  0.05  0.66  0.06
res delta        25,236 | 0.18  0.02  0.70  0.11
res http1       140,457 | 1.00  1.00  1.00  0.00
res spdy3        14,142 | 0.10  0.05  0.66  0.06


./compare_compressors.py -c bohe -c spdy3 -c delta
../http_samples/mnot/facebook.com.har
234 req messages processed
             compressed | ratio min   max   std
req  bohe         6,091 | 0.15  0.06  0.78  0.07
req delta         7,800 | 0.19  0.02  0.70  0.07
req http1        41,980 | 1.00  1.00  1.00  0.00
req spdy3         6,301 | 0.15  0.06  0.77  0.07

234 res messages processed
             compressed | ratio min   max   std
res  bohe         9,458 | 0.23  0.07  0.68  0.07
res delta        12,045 | 0.30  0.13  0.60  0.08
res http1        40,252 | 1.00  1.00  1.00  0.00
res spdy3         9,788 | 0.24  0.07  0.69  0.07