From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id rPRHD8k7vF9UcwAA0tVLHw (envelope-from ) for ; Mon, 23 Nov 2020 22:46:33 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id yKaBCsk7vF9lIgAAB5/wlQ (envelope-from ) for ; Mon, 23 Nov 2020 22:46:33 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EDD959402A0 for ; Mon, 23 Nov 2020 22:46:32 +0000 (UTC) Received: from localhost ([::1]:43014 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khKbP-0003yn-UJ for larch@yhetil.org; Mon, 23 Nov 2020 17:46:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khKbG-0003ye-Cc for guix-devel@gnu.org; Mon, 23 Nov 2020 17:46:22 -0500 Received: from pelzflorian.de ([5.45.111.108]:37114 helo=mail.pelzflorian.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khKbD-00019D-J7; Mon, 23 Nov 2020 17:46:22 -0500 Received: from pelzflorian.localdomain (unknown [5.45.111.108]) by mail.pelzflorian.de (Postfix) with ESMTPSA id 777793605A8; Mon, 23 Nov 2020 23:46:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pelzflorian.de; s=mail; t=1606171577; bh=lFT8qlLCSAO9r7TyqpZxXNtyMwi5sihCbatDxizJIrI=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=GTETaews/UPzVgJpkXPa6eEjHSR2ZCKvRXPpgWaOsXhq4gsVb+mMfdbdYTzsb7Itz oI7Ze7Vbes2txYV3wV2whzoj7vdYOYJBzWaDEE4tLIfPd8ozWQOZIFF1qVlJoXrSPv 8qXabBrpvm2ss8Ip/sKxDT2Xm+G0ctDBfZXOI0f0= Date: Mon, 23 Nov 2020 23:46:08 +0100 From: "pelzflorian (Florian Pelz)" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: Building the web site is slow Message-ID: <20201123224608.q3c2rd3ixuemoflo@pelzflorian.localdomain> References: <877dqcjetd.fsf@inria.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <877dqcjetd.fsf@inria.fr> Received-SPF: pass client-ip=5.45.111.108; envelope-from=pelzflorian@pelzflorian.de; helo=mail.pelzflorian.de 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=pelzflorian.de header.s=mail header.b=GTETaews; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -0.01 X-TUID: 2w/UZVYErNr7 On Mon, Nov 23, 2020 at 04:03:26PM +0100, Ludovic Courtès wrote: > Do you think we could arrange > to build all the languages in a single ‘haunt build’ run, would that > help? What kept me from doing a single `haunt build` run are two things. The lesser is that, when not using .guix.scm, running `haunt build` builds only the current locale when testing, which is quick. Only when building all languages via .guix.scm it becomes slow. But the real reason for using multiple haunt invocations is that the website i18n runs as a macro when loading a Scheme file. That is, if a Scheme file contains (G_ `(a (@ (href ,(guix-url "contribute/"))) "Git repositories")) then the G_ macro will use gettext with the currently set locale to change it to, for example `(a (@ (href ,(guix-url "contribute/"))) "repositorios Git") All this runs at macro expansion time before procedure calls like guix-url unlike regular gettext. That is, it runs when Haunt first processes the G_. If the same invocation of Haunt is to process the G_ for multiple translations, it would somehow have to unload and macro expand the code a second time. Anyway, I am not sure the `haunt build` runs are the culprit. If it is a problem with spinning disks only, maybe .guix.scm can be made to copy less from the same disk to the same disk but copy more from disk to a file system in RAM and from a file system in RAM to disk. > I haven’t tried profiling yet, but I can take a look. > > Ludo’. It is funny, when I try to profile via cd ~/src/guix-artwork/website guix install -p haunt-profile guile-syntax-highlight guile-commonmark haunt LC_ALL=en_US.utf8 \ GUILE_LOAD_PATH=haunt-profile/share/guile/site/3.0:$GUILE_LOAD_PATH \ /gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2/bin/guile scheme@(guile-user)> ,profile ((@ (haunt ui) haunt-main) "haunt" "build") it crashes, but only when using ,profile. I will investigate tomorrow. Regards, Florian