From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Aleix_Conchillo_Flaqu=C3=A9?= <aconchillo@gmail.com> Newsgroups: gmane.lisp.guile.user Subject: Re: [ANN] Guile-DSV 0.7.0 released Date: Tue, 15 Aug 2023 08:02:43 -0700 Message-ID: <CA+XASoXSYhzdb-wg3D3aLZ02M-Cy5rO6yHh_==VKYrXAnZE1rA@mail.gmail.com> References: <87wmxwejj4.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34557"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Guile Users' Mailing List" <guile-user@gnu.org> To: "Artyom V. Poptsov" <poptsov.artyom@gmail.com> Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Tue Aug 15 17:03:54 2023 Return-path: <guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org> 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 <guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org>) id 1qVvaL-0008kk-Ov for guile-user@m.gmane-mx.org; Tue, 15 Aug 2023 17:03:53 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guile-user-bounces@gnu.org>) id 1qVvZU-0001lH-LR; Tue, 15 Aug 2023 11:03:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <aconchillo@gmail.com>) id 1qVvZT-0001l2-El for guile-user@gnu.org; Tue, 15 Aug 2023 11:02:59 -0400 Original-Received: from mail-qv1-xf33.google.com ([2607:f8b0:4864:20::f33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <aconchillo@gmail.com>) id 1qVvZQ-0000WD-Bj for guile-user@gnu.org; Tue, 15 Aug 2023 11:02:58 -0400 Original-Received: by mail-qv1-xf33.google.com with SMTP id 6a1803df08f44-6459a5919cdso19200166d6.3 for <guile-user@gnu.org>; Tue, 15 Aug 2023 08:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692111774; x=1692716574; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=RVvxBmQKmtuHBTw+XYD8+9lVyXQDz2mL4bVIDA8TgcY=; b=dgjR7N56y1ZQ7/Eursau7JwEsAYiiNn3Hh1uphSzlXhxeokVR/a7k2+sr/EWnBX/Yt 3ikST28ehye/Y3ncN/LSS1NTnOSVI+5He1SDeU6L9l2ClEIAG/VPYU7sbsc/v18lGDY9 4MVuaZyX4bpkpkRLWfwPhEWpxcO94rYq659aPKu4VxeGQp3o01sa9AEJBCcGentktzG7 EntPiNy0/FqvJckC+SZ+A6+HafsSZCq3VnOb2KtjYczohjc7CdZBzf3ee23njnuIBEPP /swYkzJH02sECeKA/48bCeiNt8D5bLHAN/PCADp0PtqRhY2TldhspFVkLvAdhkY33c07 hlaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692111774; x=1692716574; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RVvxBmQKmtuHBTw+XYD8+9lVyXQDz2mL4bVIDA8TgcY=; b=Z5Z1W7Ro0qKjHXEkhyayiGm+ZSQT0IDh8Wm6vM4rKg2wuv/eTWHsY78mnQXrGovizp vYF4d0N/OPObYo42YqtXa1it1JhgDmdQSMcA6aBYLqFvIranarJbG4GZlo70CST7d2C5 4LCXBvcWs/LalwrfKTmrWmO7dd1ZoTEFvgg4hTZSkphXp4SfDJvmlCiNMgrRR2W2+T8M kcvVHSbSKzQ5i9mfEdXxaHVQZ0HrwlKgJS1ZzVtnkoy8/mE+MF7kd3wimYtiBbIbba9c 4coSwkRnKqSq15aNRwFScMQbS9kjHKbLRHKf5p6gEekG58VrWa1+vJfHHSvFGdvo9A/t 3J8g== X-Gm-Message-State: AOJu0YxoiQt4C3H+SWf1o9cgvr+As8Z5bYedSOsWEVphupTwiwbZjTGh a5RVgpmabDQe/SpcprdxTnxFabcNAU5BKXLRvIgWIz3E X-Google-Smtp-Source: AGHT+IFLOvkYw0OEn/cSiAyxr+v4Q3oyRc0J6YcYj3ZKNY7PvpWQDkLtfwipmPEK9I+1hoM4HGi9sP04lhvoVUaaD1Y= X-Received: by 2002:a05:6214:14ef:b0:63d:3ab9:d9a0 with SMTP id k15-20020a05621414ef00b0063d3ab9d9a0mr11399597qvw.52.1692111774311; Tue, 15 Aug 2023 08:02:54 -0700 (PDT) In-Reply-To: <87wmxwejj4.fsf@gmail.com> Received-SPF: pass client-ip=2607:f8b0:4864:20::f33; envelope-from=aconchillo@gmail.com; helo=mail-qv1-xf33.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions <guile-user.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guile-user>, <mailto:guile-user-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guile-user> List-Post: <mailto:guile-user@gnu.org> List-Help: <mailto:guile-user-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guile-user>, <mailto:guile-user-request@gnu.org?subject=subscribe> Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.user:19163 Archived-At: <http://permalink.gmane.org/gmane.lisp.guile.user/19163> Great improvements! Congratulations! On Tue, Aug 15, 2023 at 2:35=E2=80=AFAM Artyom V. Poptsov <poptsov.artyom@g= mail.com> wrote: > Hello Guilers, > > I'm pleased to announce Guile-DSV 0.7.0: > https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.7.0 > > This release replaces the old finite-state machine (FSM) implementation > with the new one that uses Guile State Machine Compiler (Guile-SMC) [1]. > The new FSM code is generated at build-time from PlantUML description > directly. > > See the full list of user-visible changes below. > > As the result of re-writting FSMs of Guile-DSV with PlantUML/Guile-SMC, > Guile-DSV gained some speed improvements. You can find an attached > LibreOffice Calc document with some benchmarking using around 5 million > lines of data (source: [2]) > > More detailed information about the data (lines/words/characters): > --8<---------------cut here---------------start------------->8--- > $ $ wc datasets/FeedGrains.csv > 498929 6010097 93054624 datasets/FeedGrains.csv > --8<---------------cut here---------------end--------------->8--- > > I took five "dsv" runs using RFC 4180 input format with "--summary" > option on Guile-DSV 0.6.0 and Guile-DSV 0.7.0 with the same options (and > disabled logging) and in some cases the new parser implementation is 15 > times faster that the old one. > > As a bonus Guile-DSV FSMs are now much nicer and easier to maintain. > The downside is that now Guile-DSV depends on Guile-SMC. > > > * What is Guile-DSV? > > Guile-DSV is a library that allows to parse Delimiter-Separated Values > format (DSV). It supports two flavors of DSV: Unix-style[3] and > RFC4180[4]. > > Also Guile-DSV is shipped with a program named "dsv" that allows to read > and process DSV format (including delimiter change and conversion from > one standard to another, formatting tables etc.) See README file for > usage examples. > > > * List of user visible changes > > Here's an excerpt from the NEWS file: > > --8<---------------cut here---------------start------------->8--- > * Changes in version 0.7.0 (2023-08-15) > ** Guile-DSV now uses Guile State Machine Compiler (Guile-SMC) > Guile-DSV now uses Guile State Machine Compiler (Guile-SMC) for the state > machine code generation from the PlantUML description: > https://github.com/artyom-poptsov/guile-smc > > ** =3Ddsv->scm=3D and =3Ddsv-string->scm=3D now accept additional paramet= ers > Now =3Ddsv->scm=3D and =3Ddsv-string->scm=3D procedures accept additional > parameters: > - =3D#:debug-mode?=3D -- Enable/disable the debug mode. > - =3D#:log-driver=3D -- Set the logging driver. > - =3D#:log-opt=3D -- Set the logging options. > ** =3Ddsv=3D tool now accepts =3D--log-driver=3D and =3D--log-opt=3D > ** Update Texinfo documentation > --8<---------------cut here---------------end--------------->8--- > > > Thanks and happy hacking! > > - Artyom > > 1. https://github.com/artyom-poptsov/guile-smc > 2. > https://www.ers.usda.gov/data-products/feed-grains-database/feed-grains-y= earbook-tables/ > 3. http://www.catb.org/~esr/writings/taoup/html/ch05s02.html#id2901882 > 4. https://tools.ietf.org/html/rfc4180 > > > -- > Artyom "avp" Poptsov <poptsov.artyom@gmail.com> > Home page: https://memory-heap.org/~avp/ > CADR Hackerspace co-founder: https://cadrspace.ru/ > GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F >