Re: [jose] Performance of Canonical JSON

Jim Schaad <ietf@augustcellars.com> Sun, 09 December 2018 21:46 UTC

Return-Path: <ietf@augustcellars.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5674B128CF3 for <jose@ietfa.amsl.com>; Sun, 9 Dec 2018 13:46:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 8GhD1pQbI0EZ for <jose@ietfa.amsl.com>; Sun, 9 Dec 2018 13:46:20 -0800 (PST)
Received: from mail2.augustcellars.com (augustcellars.com [50.45.239.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A5A3C128CE4 for <jose@ietf.org>; Sun, 9 Dec 2018 13:46:19 -0800 (PST)
Received: from Jude (73.180.8.170) by mail2.augustcellars.com (192.168.0.56) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sun, 9 Dec 2018 13:41:14 -0800
From: Jim Schaad <ietf@augustcellars.com>
To: 'Bret Jordan' <jordan.ietf@gmail.com>, 'Anders Rundgren' <anders.rundgren.net@gmail.com>
CC: <jose@ietf.org>
References: <3466a48c-115d-3810-4c94-0e213ba407fd@gmail.com> <3386D76C-D8FA-43CA-9B4A-B171C6B61267@gmail.com>
In-Reply-To: <3386D76C-D8FA-43CA-9B4A-B171C6B61267@gmail.com>
Date: Sun, 9 Dec 2018 13:46:09 -0800
Message-ID: <01ae01d49008$9a81e850$cf85b8f0$@augustcellars.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_01AF_01D48FC5.8C5F92B0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQDz4ccxT8I6pmSOce5DyMsUul9lHQLq8Z/RpyD0UuA=
Content-Language: en-us
X-Originating-IP: [73.180.8.170]
Archived-At: <https://mailarchive.ietf.org/arch/msg/jose/mrKhIaj99aok0M-3O6hVnq70aKg>
Subject: Re: [jose] Performance of Canonical JSON
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jose/>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Dec 2018 21:46:22 -0000

A side meeting does not need any permissions from the IESG, all that is needed is to decide on a time and place and announce it to the world.  At some point the extra rooms will be opened for reservation so you can ensure that you have a room.

 

Do not expect the same type of turnout for a side meeting that you would get for a BOF.  I have been to side meetings with as few as five people and as many as twenty, but it is generally on the lower side. If you are going to try for a BOF, expect that the cutoff date is going to be around the first of February.  At a minimum you would need to have a good description of the problem and scope you want to cover.  You do not need to have a regular IETF goer make the request, this is open to anybody.  Instructions can be found here https://www.ietf.org/how/bofs/.

 

Jim

 

 

From: jose <jose-bounces@ietf.org> On Behalf Of Bret Jordan
Sent: Friday, December 7, 2018 10:25 AM
To: Anders Rundgren <anders.rundgren.net@gmail.com>
Cc: jose@ietf.org
Subject: Re: [jose] Performance of Canonical JSON

 

Thanks for the test data. Are you going to request a side meeting for Prague?

 

Bret 

Sent from my Commodore 128D





PGP Fingerprint: 63B4 FC53 680A 6B7D 1447  F2C0 74F8 ACAE 7415 0050


On Dec 7, 2018, at 9:23 AM, Anders Rundgren <anders.rundgren.net@gmail.com <mailto:anders.rundgren.net@gmail.com> > wrote:

Since XML Canonicalization has a reputation of not only being brittle but also terribly slow, I tested JCS [1] with the following JSON file:
{
  "1": {"f": {"f": "hi","F": 5} ,"\n": 56.0},
  "10": { },
  "": "empty",
  "a": { },
  "111": [ {"e": "yes","E": "no" } ],
  "A": { }
}

Expected output: {"":"empty","1":{"\n":56,"f":{"F":5,"f":"hi"}},"10":{},"111":[{"E":"no","e":"yes"}],"A":{},"a":{}}

Since JCS only is a serialization concept (parsing is unaffected), I compared the execution speed of standard serialization versus canonicalized serialization.

Using https://www.npmjs.com/package/canonicalize the performance penalty was about 2.4 compared to JSON.stringify().
Using my homegrown JSON tools written in Java having an integrated "canonicalize" serializer option the performance penalty was about 1.4

Anders

1] https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-01

_______________________________________________
jose mailing list
jose@ietf.org <mailto:jose@ietf.org> 
https://www.ietf.org/mailman/listinfo/jose