Re: [precis] Precis Java Implementation

Sam Whited <sam@samwhited.com> Mon, 21 December 2015 20:40 UTC

Return-Path: <sam@samwhited.com>
X-Original-To: precis@ietfa.amsl.com
Delivered-To: precis@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 865671ACD2A for <precis@ietfa.amsl.com>; Mon, 21 Dec 2015 12:40:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.021
X-Spam-Level:
X-Spam-Status: No, score=0.021 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, SPF_PASS=-0.001] autolearn=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 dJH4CJXMr1vL for <precis@ietfa.amsl.com>; Mon, 21 Dec 2015 12:40:23 -0800 (PST)
Received: from mail-qg0-x233.google.com (mail-qg0-x233.google.com [IPv6:2607:f8b0:400d:c04::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2E6911ACD27 for <precis@ietf.org>; Mon, 21 Dec 2015 12:40:23 -0800 (PST)
Received: by mail-qg0-x233.google.com with SMTP id k90so116970979qge.0 for <precis@ietf.org>; Mon, 21 Dec 2015 12:40:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samwhited.com; s=swgoo; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=epcLbkbm5mql1xEe/TPZ1R9i/2j0H85lIU2//LubOIA=; b=u8HIO78rPUQjYQBCJiij9BdMhnNVJ5mD28DPKnpA4jvAPD/yOJ+HwdShPzXw6J0rLL TlGNaH0m1N7eyMivIamKZ643R//idEshSYzGknqWbYk9p5XZg0idPzxIyb6wdEoRuZsY CeS/Ylh1QkUQSjaxR4N85JA2o9uM1IFPsag9A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding; bh=epcLbkbm5mql1xEe/TPZ1R9i/2j0H85lIU2//LubOIA=; b=EOT0w3NLYXdTeDR1dj1cFn2x6ZuhlGBmxyZNAoy1iTuGl7KPOnoHqjOZtmLBomPgoc dO4pDCQUVG8qRoUFaIfD2RThxLnFnHuaoP73zngBI+k5RV4LLc/CIK3p1tFJFrarz0HD aYQ4GoZXAuA26F48KmICIX3nutDw1ZevwZuvRge7w6i4g4fAyDhtrv5F8PKPMD2VC7ZT oDXBt6YwQtyGH9YXTcYuQSLSYd2iD0A1RDolGKhXGRamYvi36WFUoali1gE2+rffJfRd CUpag9CyM7aSXxIYfSS27QwCs7gcTVUUHVpuV0eFSsYKPhuv+cgj6xpFjsP7cWXZQVcd rTsw==
X-Gm-Message-State: ALoCoQlEVv5l7ryRYeMx+ukiB5pN+Q0wERr90iKC12g989rgLd132bhf6I4FQ51rLQ9c1MreO3e8f2M0knAjl/VIjdV97SZP9w==
X-Received: by 10.140.93.117 with SMTP id c108mr27254610qge.101.1450730422232; Mon, 21 Dec 2015 12:40:22 -0800 (PST)
MIME-Version: 1.0
Received: by 10.55.10.133 with HTTP; Mon, 21 Dec 2015 12:39:42 -0800 (PST)
X-Originating-IP: [72.48.156.244]
In-Reply-To: <3012FFC8-1FAD-4C30-8D85-175F4180BC02@gmx.de>
References: <3012FFC8-1FAD-4C30-8D85-175F4180BC02@gmx.de>
From: Sam Whited <sam@samwhited.com>
Date: Mon, 21 Dec 2015 14:39:42 -0600
Message-ID: <CAHbk4RLPP4LeLgM=aigNLXnbUJ0gQ+Lcsji66huFXpu5qu2fQQ@mail.gmail.com>
To: Christian Schudt <christian.schudt@gmx.de>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/precis/d2IA0EJfIwPrP_hp8lEKZWZR8Pk>
Cc: peter@andyet.com, precis@ietf.org
Subject: Re: [precis] Precis Java Implementation
X-BeenThere: precis@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Preparation and Comparison of Internationalized Strings <precis.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/precis>, <mailto:precis-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/precis/>
List-Post: <mailto:precis@ietf.org>
List-Help: <mailto:precis-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/precis>, <mailto:precis-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 21 Dec 2015 20:40:24 -0000

Christian:


On Mon, Dec 21, 2015 at 11:29 AM, Christian Schudt
<christian.schudt@gmx.de> wrote:
> I’ve been working on an open source Java implementation for the Precis framework since a few weeks and I'd finally like to share it with you:

Awesome; looks good!

I'm curious, what made you decide to calculate the derived properties
on prepare instead of precomputing them? Have you done any
benchmarking of this? I'd love to see the performance difference
between this way and pre-computing a big trie or something of derived
properties. I'm working on a Go implementation at the moment for the
standard library (feedback welcome on the code review:
https://go-review.googlesource.com/#/c/17933/, or on Bitbucket:
https://bitbucket.org/mellium/golang-x-text/src/HEAD/unicode/precis/)
and I did it this way, but maybe it's not worth the larger memory
requirements.

If you did want to pre-compute the properties, the code generator I
wrote for my Go implementation could probably be adapted to output
Java instead of Go fairly easily and might save you some time.

Best,
Sam


-- 
Sam Whited
pub 4096R/54083AE104EA7AD3
https://blog.samwhited.com