From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?Q?Linus_Bj=C3=B6rnstam?= Newsgroups: gmane.lisp.guile.user Subject: Re: guile-json 4.0.0 released Date: Sun, 17 May 2020 19:37:24 +0200 Message-ID: <72e0ed10-f680-43a2-997c-9222d2d4be62@www.fastmail.com> References: Mime-Version: 1.0 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="96861"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Cyrus-JMAP/3.3.0-dev0-413-g750b809-fmstable-20200507v1 To: =?UTF-8?Q?Aleix_Conchillo_Flaqu=C3=A9?= , guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun May 17 19:38:03 2020 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jaNEf-000P4X-Fl for guile-user@m.gmane-mx.org; Sun, 17 May 2020 19:38:01 +0200 Original-Received: from localhost ([::1]:33324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jaNEe-0002W1-I0 for guile-user@m.gmane-mx.org; Sun, 17 May 2020 13:38:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jaNES-0002Vj-Cr for guile-user@gnu.org; Sun, 17 May 2020 13:37:48 -0400 Original-Received: from out3-smtp.messagingengine.com ([66.111.4.27]:35731) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jaNER-0001Mr-4E for guile-user@gnu.org; Sun, 17 May 2020 13:37:48 -0400 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id F2BB95C005B; Sun, 17 May 2020 13:37:44 -0400 (EDT) Original-Received: from imap1 ([10.202.2.51]) by compute4.internal (MEProxy); Sun, 17 May 2020 13:37:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.se; h= mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type:content-transfer-encoding; s=fm3; bh=gYgeP vt6NkYZ1GtKQpcUwKOjhDP+o/zrYOQ/WemiU2o=; b=BVxZBZJU9mqThhT7VamZ6 m/8eD6XBPb731DARdS9z4XnpoHF12DsxnkB58KHPJ/YeMNzDDJfzYQa43ZChuwFf 5klFuQvygox27IJWEOzLGuKn+sT6PxJIwHKRRHddrGxga9xhuSfZKrhK2vvh4FeJ QWlAivLCJuVfi8H/hHR5DMx6LM0pHW+cJ5HPGPhvNfNTcHVLPbN15wsFH39CE3I9 slMCZcYFbNda3FL6i83sTY5K/L9dsmQa1S/pTzGy4fvMWt/u1x1JUXPbgE/8sMts Pu4jhKnUPoJ1WzWM4le/z+lz8EPpdaoz3ELYqgJ87Mrf3NepH7eQe1f5cf072Epo A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=gYgePvt6NkYZ1GtKQpcUwKOjhDP+o/zrYOQ/WemiU 2o=; b=jNw/y42C+7v6ZjH3Gct8alEuwcVgH2S9jVx5FpL3IxHMrLJ+zMZgWxaBb alzNtUbtue0fZKoF15onJYiT8tNleI4yQIK8yOdOQZUkfryuiECYmuI3BC94SzAU LSKXyXh9KUWoabdlo0vQHurHMRsmMPODGorGl9fvnUz3iWxHtEk/OlLZv65WZvuu sdFg12urN5w8QUGKcf/6h/D4pfno1SzClVX64GpLJSEA4TEOdfh5ZaVhbt61mRh7 d4rVdsuN009uYTwaZ3vzngBfDmmHGH4sDfcjvenseHN9lj+eYLdaPz6QckVVaXRx XyK251dXKy0GouUJoXmZTsxpfCuGg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedruddtfedguddugecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvufgtgfesthhqredtreerjeenucfhrhhomhepnfhi nhhushgpuehjnphrnhhsthgrmhcuoehlihhnuhhsrdhinhhtvghrnhgvthesfhgrshhtmh grihhlrdhsvgeqnecuggftrfgrthhtvghrnhepgfeujeeugfettefgheduffefhefgfedu fefhfeeiteeihfehgeetvedvuddvieevnecuffhomhgrihhnpehjshhonhdrohhrghdpnh honhhgnhhurdhorhhgpdhophgvnhhpghhprdhorhhgpdhgihhthhhusgdrtghomhenucev lhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlihhnuhhsrd hinhhtvghrnhgvthesfhgrshhtmhgrihhlrdhsvg X-ME-Proxy: Original-Received: by mailuser.nyi.internal (Postfix, from userid 501) id 868B0C200A4; Sun, 17 May 2020 13:37:44 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface In-Reply-To: Received-SPF: pass client-ip=66.111.4.27; envelope-from=linus.internet@fastmail.se; helo=out3-smtp.messagingengine.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/17 13:37:45 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:16480 Archived-At: Thanks for the mention. I have managed to squeeze another 10% out of my = test bed code, but that was at quite some expense of readability (no cha= racter peeking, byte-based I/o where it makes sense, some heuristics cha= nges). I will try to prettify it and send you the link later on. We are roughly half as fast as rackets JSON module running in racket-cs,= which is not bad! Regarding our (ice-9 match) slowness: I wrote a patch for reducing equal? with a char literal to eqv?, but it = was so hideous that Andy wrote a proper patch for it, and from guile 3.0= .3 equal? and eqv? will be reduced to faster equality checking for suita= ble literals! Everybody wins! --=20 Linus Bj=C3=B6rnstam On Sun, 17 May 2020, at 08:42, Aleix Conchillo Flaqu=C3=A9 wrote: > Hi! >=20 > I'm super excited to announce guile-json 4.0.0. This new version comes= with > a couple of small breaking changes and huge performance improvements (= up to > 6x faster). >=20 > Huge thanks to Linus Bj=C3=B6rnstam who brought up the performance iss= ues plus a > bunch of suggestions of how to improve them and followed along all the= way. >=20 > * About >=20 > guile-json is a JSON module for Guile. It supports parsing and buildin= g > JSON documents according to the http://json.org specification. >=20 > - Complies with http://json.org specification. > - Builds JSON documents programmatically using scheme data types. > - Allows JSON pretty printing. >=20 > * Download >=20 > Compressed sources and a GPG detached signature[*]: >=20 > http://download.savannah.nongnu.org/releases/guile-json/guile-json-4.0= .0.tar.gz > http://download.savannah.nongnu.org/releases/guile-json/guile-json-4.0= .0.tar.gz.sig >=20 > [*] To verify download both files and then run: >=20 > gpg --keyserver keys.openpgp.org \ > --recv-keys 7CEC5511C8D057A9EF17470C54D4CC6FFC7468F4 >=20 > gpg --verify guile-json-4.0.0.tar.gz.sig >=20 > * Changes since 3.5.0 >=20 > https://github.com/aconchillo/guile-json/blob/master/NEWS >=20 > Bugs and comments can be reported at > https://github.com/aconchillo/guile-json/issues >=20 > Happy hacking! >=20 > Aleix >