From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: JSON/YAML/TOML/etc. parsing performance Date: Mon, 18 Sep 2017 16:08:28 +0000 Message-ID: References: <87poaqhc63.fsf@lifelogs.com> <83mv5shx5h.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a113cc362a86835055978f478" X-Trace: blaine.gmane.org 1505752061 642 195.159.176.226 (18 Sep 2017 16:27:41 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 18 Sep 2017 16:27:41 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Sep 18 18:27:36 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtytU-0008LQ-0v for ged-emacs-devel@m.gmane.org; Mon, 18 Sep 2017 18:27:36 +0200 Original-Received: from localhost ([::1]:37714 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtytb-0004RB-6O for ged-emacs-devel@m.gmane.org; Mon, 18 Sep 2017 12:27:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtybD-0005IA-PW for emacs-devel@gnu.org; Mon, 18 Sep 2017 12:08:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtybC-0003MB-HA for emacs-devel@gnu.org; Mon, 18 Sep 2017 12:08:43 -0400 Original-Received: from mail-io0-x22a.google.com ([2607:f8b0:4001:c06::22a]:52524) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dtybB-0003LD-5t; Mon, 18 Sep 2017 12:08:41 -0400 Original-Received: by mail-io0-x22a.google.com with SMTP id i197so3312934ioe.9; Mon, 18 Sep 2017 09:08:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yEE3rO4wmbrflZG/oyCniVY/Zrq6bece9zM0G3FcKgs=; b=gOaNBYoJZsJEYML0dapK5gdPH7PiyZlMv1qsEF+5o/RlENcOudiqAPWPrTToP/9uaL m+WWV0Rfnh5bPqtoN5KGrjxQHeMoSD1D6yb63CAc4BRk68FfFKGDptu4o5+SmGNuUj2J Lwxbr3zraevMdtnj8ba2MdJmx89jCfbHgPxj1iQvKQGqurrXo4HOgBd+XW1c0ARc5jod ptSkzLT7BPKB7T3srVPpYEyTyHp1klycszBTOIUvJIS/K/fraTMbMfA6NN9QvKFzlq1Y V09R91yvD/OAOJP38oWmUCXnCga20jLX/qmWjq244ABI4X9sgm9aAp/WtDgkaK6ZcwRz JmCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yEE3rO4wmbrflZG/oyCniVY/Zrq6bece9zM0G3FcKgs=; b=aK9LFlKy9tzU8r6/Zay4T4ArvuKKFUObfURoJSTDs8kXKNaIxep1hX8HfsOMfGgrZP obzxbULwqeFplKNIAM3ZaYC9zG94DAEWWnbgeSumF55+NVmfN/tbeKOd0zY/SeOgId9Y xpoMRDEpkkhq48pRd7fDzBcZKS3DOlAY9cNZT+QKN82+FIudVjpZ3X33+L5rZH3KU6E+ pY9hvHJ/rjHEtpWhHVBD7sP4psFUKKICB08FrQk3FcWOJyvodMdvw7xPLHefdtYC97al OAr69P+vvGZ5FBtR4JopUHtOeCVNj6bALTSWGCpO3MZ6NC5Y+mVmGpml9Lfvv+no+I7n Ozhg== X-Gm-Message-State: AHPjjUhsHOtRSIINq4Ay11vZyDA3vLGsx+5XPypbVZJuqmJ/TGCnbMrp 4HEXsoXwmuVwp0oV+nSRbIM2pAuQgSPVUYV6/RHIQg== X-Google-Smtp-Source: AOwi7QC1M5KXX3zdJ6MzVxkDBMo7Fh9ErPUSKIZri6nWCZdHpBF04MJFYL22fW9T20dJx27SbsIMroMoEsloimI6970= X-Received: by 10.202.171.147 with SMTP id u141mr18403096oie.312.1505750919176; Mon, 18 Sep 2017 09:08:39 -0700 (PDT) In-Reply-To: <83mv5shx5h.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4001:c06::22a X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:218471 Archived-At: --001a113cc362a86835055978f478 Content-Type: text/plain; charset="UTF-8" Eli Zaretskii schrieb am Mo., 18. Sep. 2017 um 16:58 Uhr: > > From: Philipp Stephani > > Date: Mon, 18 Sep 2017 13:26:34 +0000 > > > > I've discovered that the interface and documentation of Jansson are much > better than the ones of json-c, so I > > switched to Jansson. > > Thanks, but isn't Jansson less actively developed, judging by your > survey? > A bit, but it did have a nonzero number of commits in the last month, and over a longer term seems quite active. (Some of the other libraries had their last commit in 2014.) > > > I've attached a patch. > > I thought we wanted to import the library into Emacs proper, didn't > we? What is the purpose of providing such a core functionality as an > optional feature? > If we want to make it mandatory, we can always make the library mandatory and/or include its source code. However, the latter has significant downsides (we need to maintain the source code), so I don't think we should do it, at least not in the first iteration. For now, we can define the new functions in json.el if native support isn't available. --001a113cc362a86835055978f478 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Eli Za= retskii <eliz@gnu.org> schrieb am= Mo., 18. Sep. 2017 um 16:58=C2=A0Uhr:
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Mon, 18 Sep 2017 13:26:34 +0000
>
> I've discovered that the interface and documentation of Jansson ar= e much better than the ones of json-c, so I
> switched to Jansson.

Thanks, but isn't Jansson less actively developed, judging by your
survey?

A bit, but it did have a nonzer= o number of commits in the last month, and over a longer term seems quite a= ctive. (Some of the other libraries had their last commit in 2014.)
=C2=A0

> I've attached a patch.

I thought we wanted to import the library into Emacs proper, didn't
we?=C2=A0 What is the purpose of providing such a core functionality as an<= br> optional feature?

If we want to make it= mandatory, we can always make the library mandatory and/or include its sou= rce code. However, the latter has significant downsides (we need to maintai= n the source code), so I don't think we should do it, at least not in t= he first iteration. For now, we can define the new functions in json.el if = native support isn't available.
--001a113cc362a86835055978f478--