Re: Updated Delta+BOHE Impl in Java

Roberto Peon <grmocg@gmail.com> Tue, 09 April 2013 20:53 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 B372521F98DD for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Apr 2013 13:53:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.998
X-Spam-Level:
X-Spam-Status: No, score=-9.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_54=0.6, RCVD_IN_DNSWL_HI=-8]
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 0e+4TiFSPJLk for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Apr 2013 13:53:26 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id E343621F98ED for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 9 Apr 2013 13:53:25 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UPfXE-0001Ax-9c for ietf-http-wg-dist@listhub.w3.org; Tue, 09 Apr 2013 20:52:56 +0000
Resent-Date: Tue, 09 Apr 2013 20:52:56 +0000
Resent-Message-Id: <E1UPfXE-0001Ax-9c@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UPfXB-0001AD-ID for ietf-http-wg@listhub.w3.org; Tue, 09 Apr 2013 20:52:53 +0000
Received: from mail-ob0-f174.google.com ([209.85.214.174]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UPfXA-0002M1-PB for ietf-http-wg@w3.org; Tue, 09 Apr 2013 20:52:53 +0000
Received: by mail-ob0-f174.google.com with SMTP id wm15so4790229obc.19 for <ietf-http-wg@w3.org>; Tue, 09 Apr 2013 13:52:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=ajRk5KWJEIhdWO+uzkpcoWgPWIhUZW1o1fYtNZLrWik=; b=rM3D+8ZSzceoeOv3O+vhBZAxvOTVAgtEolA6o+ZVDjpTFgb1GrEc/ghKxRTXEf/vGF VO8x5dNaRsr1gRM5fRPitJpgfvtRQyHOv/JF1qne6lcjQbaP7XP5/lTGcTjU7+cmYB6x fPgIuNYb9Dj8+e+/UtxKMxw8mPLiOUdLx0b33avTZwufIQpQ+keNa6neWjzpw6+r+xHS 3njI2+YEUvXOsxdF9m5su+ndAQMWPuKABBufmdNoflL8yNK/gz4NbSHWBISDZFtovut6 zzz3i+pL6YW/a8HX6v98De43m4E/Som6De5AubuaqVbAdvypTYG8OgqHB69nNOu7NxSI Q7Vw==
MIME-Version: 1.0
X-Received: by 10.60.16.164 with SMTP id h4mr2742980oed.23.1365540746669; Tue, 09 Apr 2013 13:52:26 -0700 (PDT)
Received: by 10.76.141.83 with HTTP; Tue, 9 Apr 2013 13:52:26 -0700 (PDT)
In-Reply-To: <CABP7Rbcomc=zntQ1FQZ-kqDsrBNoBKXJiCe1++AEY02d8oxToA@mail.gmail.com>
References: <CABP7RbfE3+Zp0_=XkxuDQyLkoQMJP=qKisak-pXiLVcKi_f-+g@mail.gmail.com> <CABkgnnWyx2k7SHt=1+YDBMtvDArWqUz-mfXbe8gh6KjUdLGdPQ@mail.gmail.com> <CABP7Rbcomc=zntQ1FQZ-kqDsrBNoBKXJiCe1++AEY02d8oxToA@mail.gmail.com>
Date: Tue, 09 Apr 2013 13:52:26 -0700
Message-ID: <CAP+FsNc=HzMcCUivZdqt1nA6oZ_U2sM6mPp+-3TKDQ+4Y3TbGg@mail.gmail.com>
From: Roberto Peon <grmocg@gmail.com>
To: James M Snell <jasnell@gmail.com>
Cc: Martin Thomson <martin.thomson@gmail.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="089e013a125a21be1d04d9f3bba4"
Received-SPF: pass client-ip=209.85.214.174; envelope-from=grmocg@gmail.com; helo=mail-ob0-f174.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.681, 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: lisa.w3.org 1UPfXA-0002M1-PB 642a27cd24b50127da4dd9fe582794bd
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Updated Delta+BOHE Impl in Java
Archived-At: <http://www.w3.org/mid/CAP+FsNc=HzMcCUivZdqt1nA6oZ_U2sM6mPp+-3TKDQ+4Y3TbGg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17213
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>

yup.
-=R


On Tue, Apr 9, 2013 at 10:58 AM, James M Snell <jasnell@gmail.com> wrote:

> I pulled the values from Roberto's most recent draft here [1]. I
> believe he put it together from the corpus of sample data that's been
> collected in the github repo.
>
> [1] http://tools.ietf.org/html/draft-rpeon-httpbis-header-compression-03
>
> On Tue, Apr 9, 2013 at 10:37 AM, Martin Thomson
> <martin.thomson@gmail.com> wrote:
> > This is great news.
> >
> > Out of interest: Where did you derive the values you used to build
> > your Huffman tables?
> >
> > On 9 April 2013 10:24, James M Snell <jasnell@gmail.com> wrote:
> >> I have updated my experimental Delta+Bohe java implementation to match
> >> the current draft of the specification and Roberto's current delta
> >> iteration. I still have to patch this in to the compression-test stuff
> >> but the code is functional.
> >>
> >>   https://github.com/jasnell/http2
> >>
> >> Requires maven to build. Dependencies are light. Still needs a ton of
> >> work and I have not even started working on performance optimizations.
> >> It's a pretty straight forward port of everything Roberto has done in
> >> the python impl.
> >>
> >> The one bit this does add is multi-type header values. The types
> >> supported are String, Number, Datetime and Binary. Strings can be
> >> either UTF-8 or ISO-8859-1. If they are ISO-8859-1, they can be
> >> Huffman coded using Roberto's static code. I am using an different
> >> static dictionary of predefined header values tho.
> >>
> >> General takeaways ..
> >>
> >> 1. The implementation is not that difficult to do and seems to perform
> >> reasonably well.
> >> 2. The additional types are very useful and add minimal additional
> >> complexity to the implementation.
> >> 3. I'm generally not convinced that we really need the huffman coding.
> >> Yes, it saves a handful of bytes here and there but it does add
> >> additional complexity. I can live with it tho. If we keep it and we
> >> decide to allow for UTF8 header values, then we need to come up with a
> >> static huffman coding that includes the extended UTF8 character
> >> support.
> >> 4. Performance seems reasonable overall.
> >>
> >> I'm going to be working on implementing HeaderDiff next. Hopefully
> >> I'll have the time to have that done by this Friday.
> >>
> >> - James
> >>
>
>