Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIRJW-0001MD-C3 for pgsql-docs@arkaria.postgresql.org; Sat, 25 Nov 2017 03:39:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIRJV-0001Cb-Su for pgsql-docs@arkaria.postgresql.org; Sat, 25 Nov 2017 03:39:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eIRJV-0001CR-Ku for pgsql-docs@lists.postgresql.org; Sat, 25 Nov 2017 03:39:33 +0000 Received: from mail-wm0-x230.google.com ([2a00:1450:400c:c09::230]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1eIRJI-0002Sg-B8 for pgsql-docs@postgresql.org; Sat, 25 Nov 2017 03:39:32 +0000 Received: by mail-wm0-x230.google.com with SMTP id r68so25368365wmr.3 for ; Fri, 24 Nov 2017 19:39:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=rVPd4jGK8BhxbSi+xl2ATghx6VDSAUdv6FsXerOOqME=; b=wc4TvZC9XG3VcimUt9pMrVCzI3X8CoZpItCLD+8rtKbwIiZfaV+ztkgTglKaDDJlAv DZLAkxd+fcuUACJ/FI9EJxAvAStda4ImxiHoVokONDPm7hjJVnoyLPGS5cKp59VnUu0x 0ctxKdHWNILpCu2te+0FlCsrzp2wWr1GMH8ZnN7dby+6/I6W4+4YEVJo7mPc61VYfSd7 hTlErcujqFRBS3duEtX/aWOTnsEFVzQKAiL0tuFf0D7Y7DrARroMrwIxROHpGQiCtHSK 6ue6zu2N6INjHSvOhLpsqMrxL5paBjMQ1/PgFiZmG23Vk3vjCLTedr4IxpJAFzDcRWdL CwxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rVPd4jGK8BhxbSi+xl2ATghx6VDSAUdv6FsXerOOqME=; b=O1vy1tEvSrRKcjc8NuPYJ0uC1cH+4kAqDZYH8UNgymFA12kHhVcMoREwTuL50FeZQ3 yK2MRlBnxkhGBr1jJ9IE3hG0yflcPuB7RameegjdgrTNZv3Rc0Hik6C/fu2B9K0a8haY OOacnJoFp6pCX9aWJntLnDCsalY28zpZik2dkCXtWgflsfv/FwUQavtnqe1dPhtj+rHd EtjJ8bQtHIpKBFaWlUsiAa/+0QviqvXNrnPWVgR1HiQLvaFxK5nEsvHXMPjdZL9jnH84 rHAnCKAAjLHKEv8fxelD16tcIzNdHcqZOcDjKPOuski1O5xHzWVnJXFa4XJX8f0hq0PG Gmrw== X-Gm-Message-State: AJaThX4KYe2cbXtFMCKfo8IPPGGboD95IsZqtYtZPex9nRR7qVu5T7Vo vjVtkYUB/ojLSqqxhY6J3nT4FZ5500karPSYp7J3FAxJ X-Google-Smtp-Source: AGs4zMbw9hywHsNQigqyTEln7qZ36gFlXPzm/GR7qZNC7e35RlQlojgVln2xLUFRow5Y3p8bp1DguhNaAblAFlunLFI= X-Received: by 10.28.211.15 with SMTP id k15mr11167142wmg.33.1511581158727; Fri, 24 Nov 2017 19:39:18 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.164.205 with HTTP; Fri, 24 Nov 2017 19:38:38 -0800 (PST) From: Thomas Munro Date: Sat, 25 Nov 2017 16:38:38 +1300 Message-ID: Subject: MacPorts xsltproc is very slow? To: pgsql-docs@postgresql.org Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hi, Does anyone know why I'd see this difference in "make docs" performance? 1. On macOS using Apple's /usr/bin/xsltproc (--version says libxml 20902, libxslt 10128 and libexslt 817), it builds in a few minutes but produces warnings like this: postgres.sgml:408: element biblioentry: validity error : ID ston89b already defined postgres.sgml:426: element biblioentry: validity error : ID ston90a already defined postgres.sgml:454: element biblioentry: validity error : ID ston90b already defined 2. On macOS using MacPorts' /opt/local/bin/xsltproc (--version says libxml 20907, libxslt 10132 and libexslt 820), the xsltproc step runs for *half an hour* on my laptop. I have no idea what it's doing. With dtruss I see a bunch of madvise(MADV_CAN_REUSE) half of which fail with EINVAL, and a bunch of stat64("/opt/local/lib/libxslt-plugins/nwalsh_com_xslt_ext_com_nwalsh_saxon_UnwrapLinks.so\0"). Applying Alexander Law's patch[1] makes most of the latter go away but doesn't fix the run time problem. I noticed that the Apple version is using libxslt 1.1.28 (for context, that's the same as Debian Jessie used; Stretch/Buster/Sid are on 1.1.29 -- I'm guessing many of you are using that?), whereas MacPorts is shipping libxslt 1.1.32. I know next to nothing about these tools but I wonder if something we're doing gets horribly slow in future libxslt versions that will come down the pipeline on other distributions. Or if the MacPorts port is just borked somehow. For now I've uninstalled it and am ignoring the warnings from the Apple version (my other car is a FreeBSD where I can't build the docs at all since commit d6376245 because it's stuck with DocBooks 1.76.1). Any clues would be gratefully received. [1] https://www.postgresql.org/message-id/bfce8c4e-e200-9617-791a-4e05a054e698%40gmail.com -- Thomas Munro http://www.enterprisedb.com