unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "Linus Björnstam" <linus.internet@fastmail.se>
To: "Aleix Conchillo Flaqué" <aconchillo@gmail.com>,
	guile-user <guile-user@gnu.org>
Subject: Re: guile-json 4.0.0 released
Date: Sun, 17 May 2020 19:37:24 +0200	[thread overview]
Message-ID: <72e0ed10-f680-43a2-997c-9222d2d4be62@www.fastmail.com> (raw)
In-Reply-To: <CA+XASoUSRJ42hqmkMrcV4hzEcsTOKP43VgO3JPO-6D1a=AaHnw@mail.gmail.com>

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 character peeking, byte-based I/o where it makes sense, some heuristics changes). 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 suitable literals! Everybody wins!
-- 
  Linus Björnstam

On Sun, 17 May 2020, at 08:42, Aleix Conchillo Flaqué wrote:
> Hi!
> 
> 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).
> 
> Huge thanks to Linus Björnstam who brought up the performance issues plus a
> bunch of suggestions of how to improve them and followed along all the way.
> 
> * About
> 
> guile-json is a JSON module for Guile. It supports parsing and building
> JSON documents according to the http://json.org specification.
> 
> - Complies with http://json.org specification.
> - Builds JSON documents programmatically using scheme data types.
> - Allows JSON pretty printing.
> 
> * Download
> 
> Compressed sources and a GPG detached signature[*]:
> 
> 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
> 
> [*] To verify download both files and then run:
> 
>    gpg --keyserver keys.openpgp.org \
>         --recv-keys 7CEC5511C8D057A9EF17470C54D4CC6FFC7468F4
> 
>    gpg --verify guile-json-4.0.0.tar.gz.sig
> 
> * Changes since 3.5.0
> 
> https://github.com/aconchillo/guile-json/blob/master/NEWS
> 
> Bugs and comments can be reported at
> https://github.com/aconchillo/guile-json/issues
> 
> Happy hacking!
> 
> Aleix
>



  parent reply	other threads:[~2020-05-17 17:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-17  6:42 guile-json 4.0.0 released Aleix Conchillo Flaqué
2020-05-17  9:08 ` Zelphir Kaltstahl
2020-05-17 18:15   ` Aleix Conchillo Flaqué
2020-05-17 13:00 ` Alex Sassmannshausen
2020-05-17 17:47   ` Aleix Conchillo Flaqué
2020-05-17 20:57     ` Alex Sassmannshausen
2020-05-17 17:37 ` Linus Björnstam [this message]
2020-05-17 17:46 ` Aleix Conchillo Flaqué

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=72e0ed10-f680-43a2-997c-9222d2d4be62@www.fastmail.com \
    --to=linus.internet@fastmail.se \
    --cc=aconchillo@gmail.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).