Updated Delta+BOHE Impl in Java
James M Snell <jasnell@gmail.com> Tue, 09 April 2013 17:27 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 C872321F85CE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Apr 2013 10:27:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.999
X-Spam-Level:
X-Spam-Status: No, score=-9.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, 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 nKe9fnZuw7uF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Apr 2013 10:27:11 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id E267C21F859C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 9 Apr 2013 10:27: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 1UPcIb-0007we-V2 for ietf-http-wg-dist@listhub.w3.org; Tue, 09 Apr 2013 17:25:37 +0000
Resent-Date: Tue, 09 Apr 2013 17:25:37 +0000
Resent-Message-Id: <E1UPcIb-0007we-V2@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 1UPcIV-0007up-Hr for ietf-http-wg@listhub.w3.org; Tue, 09 Apr 2013 17:25:31 +0000
Received: from mail-oa0-f47.google.com ([209.85.219.47]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UPcIU-0000nG-GQ for ietf-http-wg@w3.org; Tue, 09 Apr 2013 17:25:31 +0000
Received: by mail-oa0-f47.google.com with SMTP id o17so7610644oag.6 for <ietf-http-wg@w3.org>; Tue, 09 Apr 2013 10:25:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to :content-type; bh=9eVRoCwe0qKKsltZ4C/Fi7Ah+lkwi12Ua701xwaltsQ=; b=VTxt06rhIMWhK5HjnAHKRxCufFBCnwtNKdDa4TrCfM6O2lha0h2cA2V6jZkKOvvARt HzxtSJhm7QjYcxYtmoqL34dg0uOf/gM8PlRxCgWRVwrCLn090TpoLS8VUq00HNkNv62h qpq8E1g6ixAqH7hxrueraVBIF1TkfqiX2Y9PRBGWnVdafr+oqP3LgU5AVUUnCWZdSKk3 1/xKcwsXCe9BioRj7UjkmHeBWjNLjk6SpZkH/F3Ylch81i8DhHhcIB+dlz/3Tp9P5hqo qYGssZkexRqStXthRI+yiSCW3VgrxvlWzTWWBa3mx737+P2rMrkUrKbvjwTkQ5yJIOKs sQbA==
X-Received: by 10.60.76.234 with SMTP id n10mr16038120oew.63.1365528304404; Tue, 09 Apr 2013 10:25:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.132.102 with HTTP; Tue, 9 Apr 2013 10:24:44 -0700 (PDT)
From: James M Snell <jasnell@gmail.com>
Date: Tue, 09 Apr 2013 10:24:44 -0700
Message-ID: <CABP7RbfE3+Zp0_=XkxuDQyLkoQMJP=qKisak-pXiLVcKi_f-+g@mail.gmail.com>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.219.47; envelope-from=jasnell@gmail.com; helo=mail-oa0-f47.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.695, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UPcIU-0000nG-GQ b1ff752cdadcdb95b68a7979ef065380
X-Original-To: ietf-http-wg@w3.org
Subject: Updated Delta+BOHE Impl in Java
Archived-At: <http://www.w3.org/mid/CABP7RbfE3+Zp0_=XkxuDQyLkoQMJP=qKisak-pXiLVcKi_f-+g@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17208
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 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
- Re: Updated Delta+BOHE Impl in Java Martin Thomson
- Updated Delta+BOHE Impl in Java James M Snell
- Re: Updated Delta+BOHE Impl in Java James M Snell
- Re: Updated Delta+BOHE Impl in Java Roberto Peon
- Re: Updated Delta+BOHE Impl in Java James M Snell