From unknown Sun Jun 22 11:38:07 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#20887 <20887@debbugs.gnu.org> To: bug#20887 <20887@debbugs.gnu.org> Subject: Status: 'make bootstrap' now verrrry slow due to recent isearch changes Reply-To: bug#20887 <20887@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:38:07 +0000 retitle 20887 'make bootstrap' now verrrry slow due to recent isearch chang= es reassign 20887 emacs submitter 20887 Paul Eggert severity 20887 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 23 21:35:36 2015 Received: (at submit) by debbugs.gnu.org; 24 Jun 2015 01:35:36 +0000 Received: from localhost ([127.0.0.1]:55695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7Zb7-000339-CM for submit@debbugs.gnu.org; Tue, 23 Jun 2015 21:35:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55344) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7Zb4-00032s-4k for submit@debbugs.gnu.org; Tue, 23 Jun 2015 21:35:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7Zaw-0000Oz-IO for submit@debbugs.gnu.org; Tue, 23 Jun 2015 21:35:20 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33248) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7Zaw-0000Oh-Fw for submit@debbugs.gnu.org; Tue, 23 Jun 2015 21:35:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7Zav-0006Jx-J8 for bug-gnu-emacs@gnu.org; Tue, 23 Jun 2015 21:35:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7Zas-0000JN-E6 for bug-gnu-emacs@gnu.org; Tue, 23 Jun 2015 21:35:17 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:38380) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7Zas-0000Ij-8h for bug-gnu-emacs@gnu.org; Tue, 23 Jun 2015 21:35:14 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4D7C5160193; Tue, 23 Jun 2015 18:35:13 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id D-C5QlPNZJcE; Tue, 23 Jun 2015 18:35:12 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A4F48160835; Tue, 23 Jun 2015 18:35:12 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 74PtfoGcRF0g; Tue, 23 Jun 2015 18:35:12 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 893AA160193; Tue, 23 Jun 2015 18:35:12 -0700 (PDT) Message-ID: <558A0950.2000501@cs.ucla.edu> Date: Tue, 23 Jun 2015 18:35:12 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Emacs bug reports and feature requests Subject: 'make bootstrap' now verrrry slow due to recent isearch changes Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit Cc: Artur Malabarba X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) When I run 'make bootstrap' now it's veerrrrry slow, hanging after this output: ... Reloading stale subr-x.el Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/subr-x.el (source)... Reloading stale isearch.el Loading /home/eggert/src/gnu/emacs/tmn/lisp/isearch.el (source)... It pauses for a loooongg time here (minutes) and then finally continues. It has to do this many times during 'make bootstrap', so 'make bootstrap' is now realllly slooooow. This is no doubt due to commit c7a19e0c80ec6134ab6fb1950d3e1ac59a7b986f, recently installed in the master, so I'm CC'ing Artur Malabarba. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 03:06:56 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 07:06:56 +0000 Received: from localhost ([127.0.0.1]:55748 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7elr-0006C5-RR for submit@debbugs.gnu.org; Wed, 24 Jun 2015 03:06:56 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48136) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7elp-0006Bo-NF for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 03:06:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7eli-00072e-GV for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 03:06:48 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57545) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7ele-00071d-GS; Wed, 24 Jun 2015 03:06:42 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1Z7elc-0002n9-Mx; Wed, 24 Jun 2015 03:06:40 -0400 From: Glenn Morris To: Paul Eggert Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> X-Spook: security Agro FARC afsatcom Nogales Ron Brown RSA X-Ran: qbc`vFbUpVro+^2Z_>4 User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.4 (------) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, Artur Malabarba X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.4 (------) Paul Eggert wrote: > When I run 'make bootstrap' now it's veerrrrry slow, hanging after this output: > > ... > Reloading stale subr-x.el > Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/subr-x.el (source)... > Reloading stale isearch.el > Loading /home/eggert/src/gnu/emacs/tmn/lisp/isearch.el (source)... How can a bootstrap have stale files...? Mine doesn't. But yes, dumping bootstrap-emacs is now ridiculously slow (~ 5 minutes). I would like to know where Artur bought his laptop [1], which by my estimate must run at about 200GHz. [1] http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00426.html From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 03:52:26 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 07:52:26 +0000 Received: from localhost ([127.0.0.1]:55788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7fTt-0007J3-Lk for submit@debbugs.gnu.org; Wed, 24 Jun 2015 03:52:26 -0400 Received: from mail-lb0-f170.google.com ([209.85.217.170]:32782) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7fTq-0007Im-3W for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 03:52:22 -0400 Received: by lbbvz5 with SMTP id vz5so21230066lbb.0 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 00:52:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=DOqbPZxNmrlV2s0Bt0t29p1WY6NsQibGanzGlsoNORk=; b=Gb7KIcEJg9KEJT+gsDO39qYsVKw2OJv+UeXq8MbYl1SxU8holIF0iblCIupkBzKzCj wOFk74NtsQuLFM1JiNqMv8ZgYA7LUMPE/ny8uc2+KhwTqvILc57jJnA8HNKx8WRzleaV 7+KEa0WbeoZ3xiNCNZ73D4F8/SoCzgW0QVCEfqnfAYCnRWugIjileEHTSaIhVpJjlaLj 2DqLI3zlQYA+AmWWq55LSLjaQkZcqW6FG0CWj4nAWhlKoH00NSgxFHrJncdva5mw9xUL js4vBDOK25XFDM5OGLDccej0J+45BcDeep4kJ6+bAnbhUZ5b6VqM4D7VsQnwiv99YqRq qM5A== MIME-Version: 1.0 X-Received: by 10.152.4.163 with SMTP id l3mr6051440lal.35.1435132335857; Wed, 24 Jun 2015 00:52:15 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 00:52:15 -0700 (PDT) In-Reply-To: <2nbng5pou7.fsf@fencepost.gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> Date: Wed, 24 Jun 2015 08:52:15 +0100 X-Google-Sender-Auth: e5J0zWPehvLG2mSBGNP-9Q-Ma6M Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, Paul Eggert X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I don't know. Frankly, a bootstrap of 5 min seems incredibly fast, :) mine always takes at least 10. When I reporte the change added 5 sec to compile time, I was testing the following: (benchmark-run 1 (byte-compile-file (buffer-file-name))) which reports 3.13 seconds for me. Does anyone know what could cause these 4 seconds to become 5 min during bootstrap? Does bootstrap compile the file 60 times? =P If botstrap loads that code without compiling first, then it could take about 10 seconds, but that still doesn't account for so much. 2015-06-24 8:06 GMT+01:00 Glenn Morris : > Paul Eggert wrote: > >> When I run 'make bootstrap' now it's veerrrrry slow, hanging after this output: >> >> ... >> Reloading stale subr-x.el >> Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/subr-x.el (source)... >> Reloading stale isearch.el >> Loading /home/eggert/src/gnu/emacs/tmn/lisp/isearch.el (source)... > > How can a bootstrap have stale files...? Mine doesn't. > But yes, dumping bootstrap-emacs is now ridiculously slow (~ 5 minutes). > I would like to know where Artur bought his laptop [1], which by my > estimate must run at about 200GHz. > > [1] http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00426.html From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 09:31:43 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 13:31:43 +0000 Received: from localhost ([127.0.0.1]:56000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7kmE-0008Gx-4T for submit@debbugs.gnu.org; Wed, 24 Jun 2015 09:31:42 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:40195) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7km3-0008GZ-Bq for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 09:31:33 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 9ADAD160837; Wed, 24 Jun 2015 06:31:24 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 5vTfUeDajuMx; Wed, 24 Jun 2015 06:31:23 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id D83C816083F; Wed, 24 Jun 2015 06:31:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id axyhBhhK-iKF; Wed, 24 Jun 2015 06:31:23 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id B8840160837; Wed, 24 Jun 2015 06:31:23 -0700 (PDT) Message-ID: <558AB120.8060304@cs.ucla.edu> Date: Wed, 24 Jun 2015 06:31:12 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> In-Reply-To: <2nbng5pou7.fsf@fencepost.gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, Artur Malabarba X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Glenn Morris wrote: > But yes, dumping bootstrap-emacs is now ridiculously slow (~ 5 minutes). That's just the beginning. The real slowness comes later in the build. Each time it's compiling something else, Emacs has to reload isearch.el (as isearch.elc doesn't exist yet), and this takes many minutes. And it does this over and over. The entire build takes so long that I haven't had the patience to let it finish. Hours, at least. > How can a bootstrap have stale files...? Mine doesn't. I assume messages like "Reloading stale subr.el" are emitted even when the problem is only that subr.elc does not exist. At least, that's what happens when I do this: rm src/bootstrap-emacs src/emacs $(find . -name '*.elc') make The build creates 'src/bootstrap-emacs' and then goes on as follows. Don't you see similar output? ... Dumping under the name emacs 45219 pure bytes used : paxctl -zex emacs mv -f emacs bootstrap-emacs make -C ../lisp compile-first EMACS="../src/bootstrap-emacs" make[2]: Entering directory '/home/eggert/src/gnu/emacs/tmn/lisp' ELC emacs-lisp/macroexp.elc ELC emacs-lisp/cconv.elc ELC emacs-lisp/byte-opt.elc ELC emacs-lisp/bytecomp.elc ELC emacs-lisp/autoload.elc make[2]: Leaving directory '/home/eggert/src/gnu/emacs/tmn/lisp' make[2]: Entering directory '/home/eggert/src/gnu/emacs/tmn/lisp' ELC ../lisp/abbrev.elc Reloading stale byte-run.el Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/byte-run.el (source)... Reloading stale backquote.el Loading /home/eggert/src/gnu/emacs/tmn/lisp/emacs-lisp/backquote.el (source)... ... There are lots more "stale" messages like that. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 09:36:29 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 13:36:29 +0000 Received: from localhost ([127.0.0.1]:56004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7kqp-0008O4-UA for submit@debbugs.gnu.org; Wed, 24 Jun 2015 09:36:28 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:40285) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7kqk-0008No-Qd for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 09:36:23 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 67F0F16084E; Wed, 24 Jun 2015 06:36:17 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 3e1y8Ge7JgSW; Wed, 24 Jun 2015 06:36:16 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B389D16084C; Wed, 24 Jun 2015 06:36:16 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id npgyIe7d0w-Z; Wed, 24 Jun 2015 06:36:16 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 8F6A8160837; Wed, 24 Jun 2015 06:36:16 -0700 (PDT) Message-ID: <558AB250.5040908@cs.ucla.edu> Date: Wed, 24 Jun 2015 06:36:16 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: bruce.connor.am@gmail.com, Glenn Morris Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Artur Malabarba wrote: > Does anyone know what could cause these 4 seconds to become 5 min > during bootstrap? I'm not sure, but during bootstrap, the compiler hasn't been compiled yet; it's being interpreted. So it's very slow. The build process attempts to compile the compiler first, so that the rest of the build finishes faster, but the early part of the bootstrap must be done with a slow compiler. > Does bootstrap compile the file 60 times? =P Yes, it seems so. With a slow compiler. It takes hours. It's really bad. Please try the recipe I gave Glenn: rm -f src/bootstrap-emacs src/emacs $(find . -name '*.elc') make From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 10:28:10 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 14:28:10 +0000 Received: from localhost ([127.0.0.1]:56556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7ler-0001G1-NJ for submit@debbugs.gnu.org; Wed, 24 Jun 2015 10:28:09 -0400 Received: from mail-lb0-f182.google.com ([209.85.217.182]:36222) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7leq-0001Ff-3P for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 10:28:08 -0400 Received: by lbbpo10 with SMTP id po10so27462264lbb.3 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 07:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=/pn189qxWDA9Z9fhn/pWnoUKwmo6w95BbGPmDv5FckM=; b=pOUjZW2PEY5Bk+qYW+ESoG1WRnWZwWBqJPUl7/t3dIL+Vx/mZ0QOQZe3PmWyFb9KQM 54KAfpvEfeKdiNB8y+oG9iouPW0JmGFy+1uFfPDNJ0oGVdWULVr2qIN12FEvMe1Tnb9B SBEhLFS7fuyWjDvpIjV1gQGueKkih7YH+ZSNB+fHsQZZ2HnvAYy6TDv/bxDaztjAyWH0 L1GS/e2q4VWaXEhqsRrTbQryPjMkOsiODH6glLLwYueh23wsJwMRjiAiQt9W20jZgoHr GAh63/87hsE3nCiems3bQjg7RHT88j5bngXA66wGb2FZYw23vd5IVnKEfqVtgG6P2A9M fUkQ== MIME-Version: 1.0 X-Received: by 10.152.179.234 with SMTP id dj10mr33794096lac.73.1435156082146; Wed, 24 Jun 2015 07:28:02 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 07:28:02 -0700 (PDT) In-Reply-To: <558AB250.5040908@cs.ucla.edu> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> Date: Wed, 24 Jun 2015 15:28:02 +0100 X-Google-Sender-Auth: M5-FDhiNSn_HTVTAZbkzt5tncbo Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Paul Eggert Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: Glenn Morris , 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Yes, I see why that would cause a problem. Does anyone have any idea how we could approach this, then? That slow piece code has no need to be compiled so early, but I don't know how to avoid that. I can move it to another file, but then isearch will need to require that file anyway so the delay will still be there. Options I see 1. I could move the code to a separate file, and then only require that file as part of the isearch command, so it wouldn't be loaded at compile time. 2. I could just save that char-table directly in the file. It would be large, but it should speed up the loading by a lot. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 11:05:58 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 15:05:58 +0000 Received: from localhost ([127.0.0.1]:56572 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7mFR-00029c-RE for submit@debbugs.gnu.org; Wed, 24 Jun 2015 11:05:58 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:58452) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7mFP-00029P-02 for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 11:05:56 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NQG00H00EVP9M00@mtaout27.012.net.il> for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 18:01:47 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQG00BXWF2YD360@mtaout27.012.net.il>; Wed, 24 Jun 2015 18:01:47 +0300 (IDT) Date: Wed, 24 Jun 2015 18:05:38 +0300 From: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes In-reply-to: X-012-Sender: halo1@inter.net.il To: bruce.connor.am@gmail.com Message-id: <83vbeddu4d.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, eggert@cs.ucla.edu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 24 Jun 2015 15:28:02 +0100 > From: Artur Malabarba > Cc: 20887@debbugs.gnu.org > > Yes, I see why that would cause a problem. > Does anyone have any idea how we could approach this, then? > > That slow piece code has no need to be compiled so early, but I don't > know how to avoid that. I can move it to another file, but then > isearch will need to require that file anyway so the delay will still > be there. > > Options I see > 1. I could move the code to a separate file, and then only require > that file as part of the isearch command, so it wouldn't be loaded at > compile time. > 2. I could just save that char-table directly in the file. It would be > large, but it should speed up the loading by a lot. I think 1 is better. Make that variable autoloaded in isearch.el, and the problem should be solved. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 11:19:49 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 15:19:49 +0000 Received: from localhost ([127.0.0.1]:56578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7mSp-0002TX-V7 for submit@debbugs.gnu.org; Wed, 24 Jun 2015 11:19:48 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:45028) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7mSn-0002TI-Ia for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 11:19:46 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NQG00E00FT4OB00@a-mtaout21.012.net.il> for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 18:19:39 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQG00ELHFWPIB90@a-mtaout21.012.net.il>; Wed, 24 Jun 2015 18:19:37 +0300 (IDT) Date: Wed, 24 Jun 2015 18:19:27 +0300 From: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes In-reply-to: <83vbeddu4d.fsf@gnu.org> X-012-Sender: halo1@inter.net.il To: bruce.connor.am@gmail.com Message-id: <83si9hdthc.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, eggert@cs.ucla.edu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 24 Jun 2015 18:05:38 +0300 > From: Eli Zaretskii > Cc: 20887@debbugs.gnu.org, eggert@cs.ucla.edu > > > Date: Wed, 24 Jun 2015 15:28:02 +0100 > > From: Artur Malabarba > > Cc: 20887@debbugs.gnu.org > > > > Yes, I see why that would cause a problem. > > Does anyone have any idea how we could approach this, then? > > > > That slow piece code has no need to be compiled so early, but I don't > > know how to avoid that. I can move it to another file, but then > > isearch will need to require that file anyway so the delay will still > > be there. > > > > Options I see > > 1. I could move the code to a separate file, and then only require > > that file as part of the isearch command, so it wouldn't be loaded at > > compile time. > > 2. I could just save that char-table directly in the file. It would be > > large, but it should speed up the loading by a lot. > > I think 1 is better. Make that variable autoloaded in isearch.el, and > the problem should be solved. Btw, did you try replacing a simple iteration through all the characters with map-char-table? From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 12:00:58 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 16:00:59 +0000 Received: from localhost ([127.0.0.1]:56588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7n6f-0003il-Iw for submit@debbugs.gnu.org; Wed, 24 Jun 2015 12:00:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57871) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7n6c-0003fG-Ud for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 12:00:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7n6S-0007j2-MM for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 12:00:48 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40260) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7n6O-0007Yn-9h; Wed, 24 Jun 2015 12:00:40 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1Z7n4h-0003wp-1z; Wed, 24 Jun 2015 11:58:55 -0400 From: Glenn Morris To: Paul Eggert Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB120.8060304@cs.ucla.edu> X-Spook: Compsec Spillover initiative Crowell military Bust X-Ran: t6eRc*p,QD7s2I X-Hue: blue X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 24 Jun 2015 11:58:54 -0400 In-Reply-To: <558AB120.8060304@cs.ucla.edu> (Paul Eggert's message of "Wed, 24 Jun 2015 06:31:12 -0700") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.4 (------) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, Artur Malabarba X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.4 (------) Paul Eggert wrote: > That's just the beginning. The real slowness comes later in the > build. Each time it's compiling something else, Emacs has to reload > isearch.el (as isearch.elc doesn't exist yet), and this takes many > minutes. And it does this over and over. That means you aren't doing a clean build. >> How can a bootstrap have stale files...? Mine doesn't. > > I assume messages like "Reloading stale subr.el" are emitted even when > the problem is only that subr.elc does not exist. No, they mean that subr.el is newer than your Emacs executable. > rm src/bootstrap-emacs src/emacs $(find . -name '*.elc') > make > The build creates 'src/bootstrap-emacs' and then goes on as follows. > Don't you see similar output? No, because I do a proper bootstrap. Accept no imitations! :) There are no "stale" messages in such a build, and the isearch slowness only happens once. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 12:01:39 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 16:01:40 +0000 Received: from localhost ([127.0.0.1]:56592 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7n7L-0003zB-AD for submit@debbugs.gnu.org; Wed, 24 Jun 2015 12:01:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58847) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7n7J-0003vq-8x for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 12:01:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7n79-0008KK-SF for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 12:01:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7n6d-0007su-TW; Wed, 24 Jun 2015 12:00:56 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1Z7n1T-0006Nu-2v; Wed, 24 Jun 2015 11:55:35 -0400 From: Glenn Morris To: bruce.connor.am@gmail.com Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> X-Spook: Guantanamo Roswell Flood Sick Emergency Magnitude X-Ran: F0<+@z:Isd%a&''Nw\En,eoKoRF'Uho.7*+!hp0;O@ (Artur Malabarba's message of "Wed, 24 Jun 2015 08:52:15 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.4 (------) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, Paul Eggert X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.4 (------) Artur Malabarba wrote: > I don't know. Frankly, a bootstrap of 5 min seems incredibly fast, :) > mine always takes at least 10. A single step taking 5 minutes. Ie, 5 mins sitting there just loading isearch.el to produce the bootstrap-emacs executable. > When I reporte the change added 5 sec to compile time, I was testing > the following: > (benchmark-run 1 (byte-compile-file (buffer-file-name))) > which reports 3.13 seconds for me. That's not a useful test of what happens during bootstrap. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 13:15:21 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 17:15:21 +0000 Received: from localhost ([127.0.0.1]:56614 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7oGe-0006cn-MV for submit@debbugs.gnu.org; Wed, 24 Jun 2015 13:15:21 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59291) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7oGb-0006cX-Pj for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 13:15:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7oGV-0001Dd-Ao for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 13:15:11 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD, UNRESOLVED_TEMPLATE autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41814) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7oGT-0001CK-M1; Wed, 24 Jun 2015 13:15:09 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1Z7oGT-0005lS-3e; Wed, 24 Jun 2015 13:15:09 -0400 From: Glenn Morris To: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> X-Spook: lynch Conventional weapon morse Drug war Ft. Knox MS13 X-Ran: s}FiSKb"u&mfs/%3Avv\M~}J#<=/VZa=3}9v(cr>?xO X-Hue: magenta X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 24 Jun 2015 13:15:09 -0400 In-Reply-To: <83vbeddu4d.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 24 Jun 2015 18:05:38 +0300") Message-ID: <72oak5jaea.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.7 (-----) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org, eggert@cs.ucla.edu, bruce.connor.am@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.7 (-----) Eli Zaretskii wrote: >> Options I see >> 1. I could move the code to a separate file, and then only require >> that file as part of the isearch command, so it wouldn't be loaded at >> compile time. >> 2. I could just save that char-table directly in the file. It would be >> large, but it should speed up the loading by a lot. > > I think 1 is better. Make that variable autoloaded in isearch.el, and > the problem should be solved. (I didn't look at the details of this case, but autoloading variables tends to just dump the entire definition in the target file, so that might not help.) Do note that time ./src/emacs -Q -batch -l ./lisp/isearch.el takes ~ 90 seconds here (versus ~ 0.1 sec for the .elc version). So it's still leaving a time-bomb around if anyone ever loads the uncompiled version of wherever that code ends up. (Why is it so dog slow?) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 13:18:59 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 17:18:59 +0000 Received: from localhost ([127.0.0.1]:56618 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7oKB-0006iA-CH for submit@debbugs.gnu.org; Wed, 24 Jun 2015 13:18:59 -0400 Received: from mail-lb0-f170.google.com ([209.85.217.170]:34220) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7oK9-0006hv-Jf for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 13:18:58 -0400 Received: by lbnk3 with SMTP id k3so30553096lbn.1 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 10:18:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=2VLgjfj+tzh3gDvDqxgO5jNUx1b+BNzpoywd71W5iKM=; b=zfm0lBkajg/IqWeAsYrVurE0b6sxs82XTHkgyUomRvUSNJptk9o2SpwkpGZcvXPDpc SNkFiNdzunwOOOc1SJrecx/LM49mpvYAZu4vC6Ub5iWFdkKPV77781KO5RvYPjIa0Scw GS57ziTMpoWujoeBswyO1flYVGngghb9l2U9Z/jDmH+QEubIAHDRSwhj85EIvxFGClBL qhjlxPG0jZ/hG73mkXnUTNqRp4VE7MRdawZewwYeqe5O8bfMRcw2MevmRQw7Rgm+y2DQ s1FcIC5M6CmmSsFtYW9r39a+vpUwJuFZnIAolCcdEr3W47YK/Unds2edT+r8tsY7gCNv Hnhw== MIME-Version: 1.0 X-Received: by 10.152.7.239 with SMTP id m15mr39722524laa.95.1435166331806; Wed, 24 Jun 2015 10:18:51 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 10:18:51 -0700 (PDT) In-Reply-To: <83si9hdthc.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> Date: Wed, 24 Jun 2015 18:18:51 +0100 X-Google-Sender-Auth: oA52dA_4qs5_O8FSKZauhsj6MXQ Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > Btw, did you try replacing a simple iteration through all the > characters with map-char-table? Hadn't thought of that. Indeed, the second loop can be replaced by a map-char-table, and it speeds things up by about 30%. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 13:38:50 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 17:38:51 +0000 Received: from localhost ([127.0.0.1]:56622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7odO-0007BD-DP for submit@debbugs.gnu.org; Wed, 24 Jun 2015 13:38:50 -0400 Received: from mail-lb0-f180.google.com ([209.85.217.180]:34215) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7odM-0007Az-3d for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 13:38:48 -0400 Received: by lbnk3 with SMTP id k3so30857862lbn.1 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 10:38:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=lO6VH3QC5deea5ZLm9S8uGePpEFdKGfMkafWFGUzaUc=; b=MchIbyOzMMP5Vi9hgGOQcAauK4RtXCVI2LuLSFOuRvyt9ljLcKB6r3i7ntqeCfCjyq 71Xd9X9Q9Ds555PyK+UjEVzXq+ao92DREbJLvDrfbjdU7jhT/0ZjTmjt/qtKv49II8EO 1G2gSLHpkvf8d0LZBf87UxOkMLe7caAO5nLcQeK2Xp4JXzKINNeVDci+tEpA3zGDgxvc 3SOkRr/q3cGpMaHDRCgVU+IjOi6uwu9ObLs8v87/g4KgspQwuZ2rg8ApO8Nv4SlYRBv1 IszYUnnOWz4WMhHrvKSh7S452DH+6CuZYoYD612kQgN+OClbK7W3L91VBLSnT+ySlaoa phrA== MIME-Version: 1.0 X-Received: by 10.152.37.136 with SMTP id y8mr37548433laj.21.1435167522312; Wed, 24 Jun 2015 10:38:42 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 10:38:42 -0700 (PDT) In-Reply-To: <72oak5jaea.fsf@fencepost.gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <72oak5jaea.fsf@fencepost.gnu.org> Date: Wed, 24 Jun 2015 18:38:42 +0100 X-Google-Sender-Auth: Ohk70rwvukZ9C17QkpnkPxOt-cg Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Glenn Morris Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: Eli Zaretskii , Paul Eggert , 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 2015-06-24 18:15 GMT+01:00 Glenn Morris : > Eli Zaretskii wrote: > >>> Options I see >>> 1. I could move the code to a separate file, and then only require >>> that file as part of the isearch command, so it wouldn't be loaded at >>> compile time. >>> 2. I could just save that char-table directly in the file. It would be >>> large, but it should speed up the loading by a lot. >> >> I think 1 is better. Make that variable autoloaded in isearch.el, and >> the problem should be solved. > > (I didn't look at the details of this case, but autoloading variables > tends to just dump the entire definition in the target file, so that > might not help.) I'll actually autoload the function that does the conversion. > Do note that > > time ./src/emacs -Q -batch -l ./lisp/isearch.el > > takes ~ 90 seconds here (versus ~ 0.1 sec for the .elc version). > > So it's still leaving a time-bomb around if anyone ever loads the > uncompiled version of wherever that code ends up. I don't know. If I run that command I get similar results to you (~ 50 sec). But now I've moved the code to its own file, and running that command on the new file yields 3 seconds (which is roughly the same I get from evaluating it inside Emacs). So maybe it's not such a big time bomb. I'll push the change and we'll see if it helps. > (Why is it so dog slow?) No idea! But it's something related to isearch.el. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 15:15:10 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 19:15:11 +0000 Received: from localhost ([127.0.0.1]:56636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7q8c-0000wy-2v for submit@debbugs.gnu.org; Wed, 24 Jun 2015 15:15:10 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:35912) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7q8Y-0000wA-Il for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 15:15:08 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NQG00100QQ93N00@mtaout29.012.net.il> for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 22:14:30 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQG0002FQS59P10@mtaout29.012.net.il>; Wed, 24 Jun 2015 22:14:30 +0300 (IDT) Date: Wed, 24 Jun 2015 22:14:51 +0300 From: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes In-reply-to: X-012-Sender: halo1@inter.net.il To: bruce.connor.am@gmail.com Message-id: <83mvzoex5g.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 24 Jun 2015 18:18:51 +0100 > From: Artur Malabarba > Cc: 20887@debbugs.gnu.org > > > Btw, did you try replacing a simple iteration through all the > > characters with map-char-table? > > Hadn't thought of that. Indeed, the second loop can be replaced by a > map-char-table, and it speeds things up by about 30%. Why only the second? All you care about is decomposition, that is, you need only loop over characters that have a non-nil value in the decomposition property. You will see in characters.el how you can use map-char-table over a char-table loaded from uni-decomposition.el (similar to what we do there with uni-bidi et.). Won't that be much faster? (I didn't actually try that, so perhaps I'm talking nonsense.) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 16:05:44 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 20:05:45 +0000 Received: from localhost ([127.0.0.1]:56644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7qvX-000281-L2 for submit@debbugs.gnu.org; Wed, 24 Jun 2015 16:05:44 -0400 Received: from mail-la0-f44.google.com ([209.85.215.44]:35448) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7qvV-00027k-2C for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 16:05:41 -0400 Received: by lagi2 with SMTP id i2so32750523lag.2 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 13:05:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=AlzdBaKMlBgTcwM0ePilBX73t48qFdY0Iq4Nui6a/go=; b=Z3zd54SozXrQELs6IelJNOrfem4Hhz+IS7/UwM5DWoXmhnPEEBJssnYxnRK/lZqSXX a7HMiXLwSvNJvxz96FsOg1t2Krzzn0YFvHn0TaR1GFMlFbNib6JEbAkKJpHQB8XQgV8Y nqyRcX5wslbjzfSZlxOTr6TAo1x/0/ZEnAphY92shOgL+9nz/B1M49Klcytjr15ayzg2 Z4SGAJr5Ry0MgFxXgPwXl9ZG9vdsTJlLrxXOXiP2vfOBb1GSXjHtvbVLqyPdhASzUi5A 5Hl/jnABBjg5MmDhqjNYDOC6NTZP1xDDDAjNeY4h72goaISHqM+clfn++IwWH4xTFjhf /j1A== MIME-Version: 1.0 X-Received: by 10.112.25.69 with SMTP id a5mr41230600lbg.16.1435176335154; Wed, 24 Jun 2015 13:05:35 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 13:05:35 -0700 (PDT) In-Reply-To: <83mvzoex5g.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> Date: Wed, 24 Jun 2015 21:05:35 +0100 X-Google-Sender-Auth: 5MO6n991yPdDtC_pLApyR8oYFp8 Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > Why only the second? All you care about is decomposition, that is, > you need only loop over characters that have a non-nil value in the > decomposition property. You will see in characters.el how you can use > map-char-table over a char-table loaded from uni-decomposition.el > (similar to what we do there with uni-bidi et.). Won't that be much > faster? > > (I didn't actually try that, so perhaps I'm talking nonsense.) You're perfectly correct. I wasn't aware there's a char table for the decomposition property (or any of the char properties for that matter). Thanks, I'll add it in. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 19:17:18 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 23:17:19 +0000 Received: from localhost ([127.0.0.1]:56735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7tuw-0006RA-7z for submit@debbugs.gnu.org; Wed, 24 Jun 2015 19:17:18 -0400 Received: from mail-lb0-f172.google.com ([209.85.217.172]:34285) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7tut-0006Qt-TA for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 19:17:16 -0400 Received: by lbnk3 with SMTP id k3so35342708lbn.1 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 16:17:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=816C17x7kB/hdWNgPiG2A3aZiWFIHgPZeXILxRXIqvY=; b=NMqpnsBdcAkPX90A25a8B4DGy01/StBIIDXL9Q+1yw5zv7OpWV4HSQzgUJmYyngx3P QW7o14iWrRl4wcuPdbffN8B5DhL74chB3m6gPIpUei/pS4ot3gZVg9TIMYinDPTzyCf+ 6BQwPuNb2y3oWsTLSPNkM9GKh49Zvx1+ziqUMmoXI1tSy3sX/aoGKWGRIjPEQxyffuqC c2xLg8XNWniptpY5Hqe0Wit3qYB7xxFsCLm2/8hG9aPRin0QBVAnwF7OwmUpWu7O310x ubgjEpuKIf8Nc6WJc72dUFtUODXErPc0tEeqyMLpvt4SuwkLl3/PSvOFNLyPz86FStYh 2F9w== MIME-Version: 1.0 X-Received: by 10.112.126.101 with SMTP id mx5mr37502936lbb.35.1435187829993; Wed, 24 Jun 2015 16:17:09 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 16:17:09 -0700 (PDT) In-Reply-To: References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> Date: Thu, 25 Jun 2015 00:17:09 +0100 X-Google-Sender-Auth: bhiPoPPr2ivGP202Wa881LFavjE Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 2015-06-24 21:05 GMT+01:00 Artur Malabarba : >> Why only the second? All you care about is decomposition, that is, >> you need only loop over characters that have a non-nil value in the >> decomposition property. You will see in characters.el how you can use >> map-char-table over a char-table loaded from uni-decomposition.el >> (similar to what we do there with uni-bidi et.). Won't that be much >> faster? >> >> (I didn't actually try that, so perhaps I'm talking nonsense.) > > You're perfectly correct. I wasn't aware there's a char table for the > decomposition property (or any of the char properties for that > matter). Thanks, I'll add it in. Actually, I spoke (and pushed) too soon. I have no idea how this works The following code (map-char-table (lambda (idx dec) (message "%S %S" idx dec)) (unicode-property-table-internal 'decomposition)) calls the function a measly total of 100 times. The idx values are things like below (which I understand), but the dec values are HUGE strings (too big to post here, most of their content is the ^@ char) which make no sense to me. Am I using this wrong? (128 . 255) (256 . 383) (384 . 511) (512 . 639) (640 . 767) (768 . 895) (896 . 1023) (1024 . 1151) (1152 . 1279) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 19:38:00 2015 Received: (at 20887) by debbugs.gnu.org; 24 Jun 2015 23:38:00 +0000 Received: from localhost ([127.0.0.1]:56744 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7uEx-0006tu-HA for submit@debbugs.gnu.org; Wed, 24 Jun 2015 19:37:59 -0400 Received: from mail-lb0-f175.google.com ([209.85.217.175]:33472) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7uEv-0006th-3X for 20887@debbugs.gnu.org; Wed, 24 Jun 2015 19:37:57 -0400 Received: by lbbvz5 with SMTP id vz5so35532395lbb.0 for <20887@debbugs.gnu.org>; Wed, 24 Jun 2015 16:37:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=TEu8VzW6RB6FrD6JdAdygXfGjVD2a8UkfMifz6NAKfY=; b=vSy61eVitp34biBgKInBvHVOswYgIeYn7d0Bn953fA6R3nAlOyU681ffN0psPmlC11 eqwu885ju1yngRxzhiEtSYDF/3Bf4mDIN+ZGXi99jb2/LgNCatAVzMIG2btEN0mpHbTl 8ueqCx1rVpBBYWHmdC+bSKvA2QWTlLbzbfEqCYXhEszgjBOeNWhD8cmvwrxurE6IJ6sG Zmf6XN4kbCvcXscYt1tYpnlmgxldRVioqz2doWcrVDxqGvNwWlE1QO3t2EqkTJNwgF37 6PPhQGUO97/4AGcSqsYDv823nA2RAYr1P9eoeOJLH0ZXmMQ4eAeIVKXxUUZtSmhwGm5c Xt3Q== MIME-Version: 1.0 X-Received: by 10.152.44.166 with SMTP id f6mr42359611lam.86.1435189071232; Wed, 24 Jun 2015 16:37:51 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Wed, 24 Jun 2015 16:37:51 -0700 (PDT) In-Reply-To: References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> Date: Thu, 25 Jun 2015 00:37:51 +0100 X-Google-Sender-Auth: 02q4ujoCZTbqlurF2qyPxOcf6vo Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I think I see now. Reading the code for `get-char-code-property' shows that I had to call a function stored in the extra slot. Calling that function on the table seems to be sufficient to populate it. 2015-06-25 0:17 GMT+01:00 Artur Malabarba : > 2015-06-24 21:05 GMT+01:00 Artur Malabarba : >>> Why only the second? All you care about is decomposition, that is, >>> you need only loop over characters that have a non-nil value in the >>> decomposition property. You will see in characters.el how you can use >>> map-char-table over a char-table loaded from uni-decomposition.el >>> (similar to what we do there with uni-bidi et.). Won't that be much >>> faster? >>> >>> (I didn't actually try that, so perhaps I'm talking nonsense.) >> >> You're perfectly correct. I wasn't aware there's a char table for the >> decomposition property (or any of the char properties for that >> matter). Thanks, I'll add it in. > > Actually, I spoke (and pushed) too soon. I have no idea how this works > The following code > > (map-char-table > (lambda (idx dec) (message "%S %S" idx dec)) > (unicode-property-table-internal 'decomposition)) > > calls the function a measly total of 100 times. The idx values are > things like below (which I understand), but the dec values are HUGE > strings (too big to post here, most of their content is the ^@ char) > which make no sense to me. Am I using this wrong? > (128 . 255) > (256 . 383) > (384 . 511) > (512 . 639) > (640 . 767) > (768 . 895) > (896 . 1023) > (1024 . 1151) > (1152 . 1279) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 22:48:25 2015 Received: (at 20887-done) by debbugs.gnu.org; 25 Jun 2015 02:48:25 +0000 Received: from localhost ([127.0.0.1]:56810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7xDF-0002j4-1S for submit@debbugs.gnu.org; Wed, 24 Jun 2015 22:48:25 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:60120) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z7xDB-0002il-NY for 20887-done@debbugs.gnu.org; Wed, 24 Jun 2015 22:48:22 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A40E91601CB; Wed, 24 Jun 2015 19:48:15 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id DLssKFK-KjQn; Wed, 24 Jun 2015 19:48:15 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 038D3160820; Wed, 24 Jun 2015 19:48:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 94tje0umAFGE; Wed, 24 Jun 2015 19:48:14 -0700 (PDT) Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id D98E61601CB; Wed, 24 Jun 2015 19:48:14 -0700 (PDT) Message-ID: <558B6BEE.4030500@cs.ucla.edu> Date: Wed, 24 Jun 2015 19:48:14 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB120.8060304@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 20887-done Cc: 20887-done@debbugs.gnu.org, Artur Malabarba X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Glenn Morris wrote: > No, because I do a proper bootstrap. Accept no imitations!:) > There are no "stale" messages in such a build, and the isearch slowness > only happens once. OK. Still, running this from a fresh checkout: ./autogen.sh ./configure make also exhibited the "stale" messages and the extreme slowdown. So the problem wasn't limited to my rm hack (which I do, by the way, because it's ordinarily much faster than "make bootstrap"). Anyway, the performance bug seems to be fixed now -- thanks! -- so I'm marking this as done. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 11:04:15 2015 Received: (at 20887) by debbugs.gnu.org; 25 Jun 2015 15:04:15 +0000 Received: from localhost ([127.0.0.1]:57378 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z88hK-0004h3-Gp for submit@debbugs.gnu.org; Thu, 25 Jun 2015 11:04:14 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:37370) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z88hG-0004gg-To for 20887@debbugs.gnu.org; Thu, 25 Jun 2015 11:04:12 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NQI0090098HDD00@mtaout25.012.net.il> for 20887@debbugs.gnu.org; Thu, 25 Jun 2015 17:59:48 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQI009FD9NNW610@mtaout25.012.net.il>; Thu, 25 Jun 2015 17:59:48 +0300 (IDT) Date: Thu, 25 Jun 2015 18:03:57 +0300 From: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes In-reply-to: X-012-Sender: halo1@inter.net.il To: bruce.connor.am@gmail.com Message-id: <838ub7eso2.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 25 Jun 2015 00:37:51 +0100 > From: Artur Malabarba > Cc: 20887@debbugs.gnu.org > > I think I see now. Reading the code for `get-char-code-property' shows > that I had to call a function stored in the extra slot. > Calling that function on the table seems to be sufficient to populate it. Indeed, the Unicode tables are tricky, in that with some of them you need to call the function stored in the 1st extra slot to reconstruct the value for a character. (And if there's no function in that extra slot, you should use get-unicode-property-internal to decode the value.) However, I think the version you pushed can be further improved. For starters, you don't need to populate the table first, and only then use it; you can produce the property value for a character and use it in the same call to map-char-table. For example, the following snippet loops only once over the table, and does its job in about 2 sec: (let* ((table (unicode-property-table-internal 'decomposition)) (func (char-table-extra-slot table 1))) (map-char-table (lambda (key val) (if (consp key) (message "%s %s" key (funcall func (car key) val table)) (message "%s %s" key (funcall func key val table)))) table)) All you need is replace the silly 'message' calls with the body of your processing code (and handle all the characters in a range of codepoints, not just the first one). Your code also calls unicode-property-table-internal twice, and the above method will solve that as well. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 13:33:01 2015 Received: (at 20887) by debbugs.gnu.org; 25 Jun 2015 17:33:02 +0000 Received: from localhost ([127.0.0.1]:57435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8B1I-000204-KR for submit@debbugs.gnu.org; Thu, 25 Jun 2015 13:33:01 -0400 Received: from mail-lb0-f172.google.com ([209.85.217.172]:33002) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8B1G-0001zo-18 for 20887@debbugs.gnu.org; Thu, 25 Jun 2015 13:32:58 -0400 Received: by lbbvz5 with SMTP id vz5so49928707lbb.0 for <20887@debbugs.gnu.org>; Thu, 25 Jun 2015 10:32:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=010lBZbQa6DfTlgtVUzqOKj/i+B7WNqG2OdQeY1cNdI=; b=Za7P70vor5Wci2rRkPVR9w6M0aCpIFNM4RnrNxYmD6FEXoxE2TMm/3AwLCgyd4Bckb 9nrtsgjhFUBatIBCjOC1KHj0Q7K61YmF2H/X7H7lmKyCR2q5t3G4MQptrZSGW+WOj3rH FtBk5th3mRORI/MYslyGZv6RfwAfrOGn7SK7iTCiXjsnGBsy36HNKL0+AvjlBFButrk9 a29VcKST0oDw8aRDAR5XrhlWtT2iAM6kKlX44xFGoGC9VcbiJHsAzkb8rZAMvE8KaQjA RZaIz/aMZKQFjReHKjOH/XpJ6rhfCOKqS2PtGCot6yr4RM1d/TC1SbLl6EO8aP6zpMMC dU7Q== MIME-Version: 1.0 X-Received: by 10.112.25.69 with SMTP id a5mr45496564lbg.16.1435253571937; Thu, 25 Jun 2015 10:32:51 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Thu, 25 Jun 2015 10:32:51 -0700 (PDT) In-Reply-To: <838ub7eso2.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> <838ub7eso2.fsf@gnu.org> Date: Thu, 25 Jun 2015 18:32:51 +0100 X-Google-Sender-Auth: nCyvrhEaW53kuQfWp7HSU1PKu6Y Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > However, I think the version you pushed can be further improved. For > starters, you don't need to populate the table first, and only then > use it; you can produce the property value for a character and use it > in the same call to map-char-table. For example, the following > snippet loops only once over the table, and does its job in about 2 > sec: > > (let* ((table (unicode-property-table-internal 'decomposition)) > (func (char-table-extra-slot table 1))) > (map-char-table > (lambda (key val) > (if (consp key) > (message "%s %s" key (funcall func (car key) val table)) > (message "%s %s" key (funcall func key val table)))) > table)) > > All you need is replace the silly 'message' calls with the body of > your processing code (and handle all the characters in a range of > codepoints, not just the first one). The "handle all characters in a range" part is the issue. For me, the first time that snippet is run it calls the lambda a total of 101 times (and barely takes an instant). More importantly, every single time the key is a range, and the value returned by the `funcall' is actually the decomposition of the *first* char in that range (not the full range). For instance, one of the messages I get from your snippet is: (64256 . 64383) (compat 102 102) But if you call (get-char-code-property 64257 'decomposition) (note the 7) you'll get a decomposition of (compat 102 105). Maybe I'm missing some simplification here. I'm aware I could run a loop inside the lambda going from (car key) to (cdr key), and then do the `(funcall func ...)' on each item in the range, but I fail to see how that would be faster than running a second map-char-table. In fact, the number of steps involved is much larger if you loop: - the current version has a map of 100 steps and another of 5721, - your proposal would have a map of 100 steps, each containing a loop of about 120 steps, which totals to over 12000 steps (I counted). Again, maybe I'm missing something, or maybe looping would be much faster than that second `map-char-table', but it seems to me like it would just be doing more work. > Your code also calls unicode-property-table-internal twice, and the > above method will solve that as well. Yes, that was an oversight. My intention was to reuse the `table' var. I'll fix that. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 19:21:57 2015 Received: (at 20887) by debbugs.gnu.org; 25 Jun 2015 23:21:57 +0000 Received: from localhost ([127.0.0.1]:57578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8GSy-00022w-PQ for submit@debbugs.gnu.org; Thu, 25 Jun 2015 19:21:57 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37255) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8GSw-00022d-Jy for 20887@debbugs.gnu.org; Thu, 25 Jun 2015 19:21:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z8GSq-0001Gf-Rd for 20887@debbugs.gnu.org; Thu, 25 Jun 2015 19:21:49 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37604) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8GSp-0001GG-7O; Thu, 25 Jun 2015 19:21:47 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1Z8GSo-00056F-LB; Thu, 25 Jun 2015 19:21:46 -0400 From: Glenn Morris To: Paul Eggert Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB120.8060304@cs.ucla.edu> <558B6BEE.4030500@cs.ucla.edu> X-Spook: eavesdropping Agriculture [Hello to all my friends and X-Ran: Vq4wtf"[s>i`RDP`rScc%)4n^gb6Lf~u&T{1!n]sP:k$:,-1E>68CD\n~M!J,uUYi]T&}d X-Hue: blue X-Debbugs-No-Ack: yes X-Attribution: GM Date: Thu, 25 Jun 2015 19:21:46 -0400 In-Reply-To: <558B6BEE.4030500@cs.ucla.edu> (Paul Eggert's message of "Wed, 24 Jun 2015 19:48:14 -0700") Message-ID: <09h9pvqsqd.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.4 (------) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.4 (------) Paul Eggert wrote: > OK. Still, running this from a fresh checkout: > > ./autogen.sh > ./configure > make > > also exhibited the "stale" messages I can't reproduce that, and I don't see how it could happen (look at byte-compile-refresh-preloaded for the source of the stale messages). Either there is another bug somewhere, or maybe somehow you aren't doing what you think you are doing... From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 26 03:52:51 2015 Received: (at 20887) by debbugs.gnu.org; 26 Jun 2015 07:52:51 +0000 Received: from localhost ([127.0.0.1]:57746 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8ORO-0008CH-Q7 for submit@debbugs.gnu.org; Fri, 26 Jun 2015 03:52:51 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:47840) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8ORM-0008C2-A1 for 20887@debbugs.gnu.org; Fri, 26 Jun 2015 03:52:49 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NQJ00J00KK3CT00@mtaout26.012.net.il> for 20887@debbugs.gnu.org; Fri, 26 Jun 2015 10:55:20 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQJ00JHNKO8C400@mtaout26.012.net.il>; Fri, 26 Jun 2015 10:55:20 +0300 (IDT) Date: Fri, 26 Jun 2015 10:52:36 +0300 From: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes In-reply-to: X-012-Sender: halo1@inter.net.il To: bruce.connor.am@gmail.com Message-id: <83y4j6dhyz.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> <838ub7eso2.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 25 Jun 2015 18:32:51 +0100 > From: Artur Malabarba > Cc: 20887@debbugs.gnu.org > > I'm aware I could run a loop inside the lambda going from (car key) to > (cdr key), and then do the `(funcall func ...)' on each item in the > range, but I fail to see how that would be faster than running a > second map-char-table. In fact, the number of steps involved is much > larger if you loop: > - the current version has a map of 100 steps and another of 5721, > - your proposal would have a map of 100 steps, each containing a loop > of about 120 steps, which totals to over 12000 steps (I counted). > > Again, maybe I'm missing something, or maybe looping would be much > faster than that second `map-char-table', but it seems to me like it > would just be doing more work. It's not faster, but it's not slower, either. Looping is not what takes time here, and if you think map-char-table can somehow magically avoid any looping, you should look at its implementation. What takes time here is map-char-table itself and the body of the loop, where the data is processed. For the record, I show the variant I had in mind below. I timed it on my system, and found it delivering the same speed as your version, up to the system clock accuracy. (defconst character-fold-table (eval-when-compile (let* ((equiv (make-char-table 'character-fold-table)) (table (unicode-property-table-internal 'decomposition)) (func (char-table-extra-slot table 1))) ;; Compile a list of all complex characters that each simple ;; character should match. (map-char-table (lambda (i dec) (when (consp i)) (let ((ifirst (car i)) (ilast (cdr i))) ;; Ensure the table is populated for this range. (funcall func ifirst dec table) ;; Loop over all non-trivial decompositions in the range. (while (<= ifirst ilast) (setq dec (funcall func ifirst (aref table ifirst) table)) (or (not (consp dec)) (and (eq ifirst (car dec)) (null (cdr dec))) (progn ;; Discard a possible formatting tag. (when (symbolp (car dec)) (setq dec (cdr dec))) (let ((d dec) k found multiletter) (while (and d (not found)) (setq k (pop d)) ;; Is k a number or letter, per unicode standard? (setq found (memq (get-char-code-property k 'general-category) '(Lu Ll Lt Lm Lo Nd Nl No)))) (if found ;; Check if the decomposition has more than ;; one letter, because then we don't want ;; the first letter to match the ;; decomposition. (dolist (k d) (when (memq (get-char-code-property k 'general-category) '(Lu Ll Lt Lm Lo Nd Nl No)) (setq multiletter t))) ;; If there's no number or letter on the ;; decomposition, take the first character in it. (setq found (car-safe dec))) ;; Add i to the list of characters that k can ;; represent. Also possibly add its ;; decomposition, so we can match multi-char ;; representations like (format "a%c" 769) (when (and found (not (eq ifirst k))) (let ((chars (cons (char-to-string ifirst) (aref equiv k)))) (aset equiv k (if multiletter chars (cons (apply #'string dec) chars)))))))) (setq ifirst (1+ ifirst))))) table) ;; Convert the lists of characters we compiled into regexps. (map-char-table (lambda (i v) (let ((re (regexp-opt (cons (char-to-string i) v)))) (if (consp i) (set-char-table-range equiv i re) (aset equiv i re)))) equiv) equiv)) "Used for folding characters of the same group during search.") From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 26 07:42:01 2015 Received: (at 20887) by debbugs.gnu.org; 26 Jun 2015 11:42:01 +0000 Received: from localhost ([127.0.0.1]:57780 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8S1B-0006TS-9l for submit@debbugs.gnu.org; Fri, 26 Jun 2015 07:42:01 -0400 Received: from mail-la0-f41.google.com ([209.85.215.41]:35622) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8S18-0006TC-Tn for 20887@debbugs.gnu.org; Fri, 26 Jun 2015 07:41:59 -0400 Received: by lagi2 with SMTP id i2so62075084lag.2 for <20887@debbugs.gnu.org>; Fri, 26 Jun 2015 04:41:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=nEGD9XSFvU0OJUdcG/rodUVht2InAv/N263loyj4oSI=; b=SA7N9ORBI671+ei5M7lGwhc1HfhvbNBa8h7VdKpv+g/46387Nc4fb0O9mTWsaDDhJj 2h/qnC9u/wK3832VYMOOVG1zPUIo0K829uxOCMkmjHmto0uMxscLDgL4CXJyHq4qZtZR SVtjlj5dmBWRfC2YlgpifP5jc6skOcvUNb7lHs3RIHLtwFlr+6uQIhJnLIF+IL9QFedJ t9U9hj1+Mmfju/yCC43MuqM/3DsRSDkyk9W0aS2DAYvD1ZuZcP/ARs5J2hmgJ9TC7gl5 YeQLG4IQQuVvRHaB/DHOEYWCD7SQ/J6e15e8nviJvECSRW9htt92j5zzph6/OccfCb8D a3dw== MIME-Version: 1.0 X-Received: by 10.112.210.137 with SMTP id mu9mr1139751lbc.95.1435318912910; Fri, 26 Jun 2015 04:41:52 -0700 (PDT) Received: by 10.25.214.133 with HTTP; Fri, 26 Jun 2015 04:41:52 -0700 (PDT) In-Reply-To: <83y4j6dhyz.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> <838ub7eso2.fsf@gnu.org> <83y4j6dhyz.fsf@gnu.org> Date: Fri, 26 Jun 2015 12:41:52 +0100 X-Google-Sender-Auth: 6NQubfwiPHUyCC9Wa8ud0_aEZXQ Message-ID: Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes From: Artur Malabarba To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: bruce.connor.am@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > It's not faster, but it's not slower, either. Looping is not what > takes time here, and if you think map-char-table can somehow magically > avoid any looping, you should look at its implementation. Not magic, witchcraft of course. Completely different things! But seriously. My logic was just: there are 7k entries with a nil value, `map-char-table' does the "funcall func + check for nil" stuff in c code, whereas the loop does it in lisp code; so *if there's a difference*, it's probably in favor of map-char-table. But your test has shown that there's probably no significant difference. That said, I was merely speculating. If you have any reason whatsoever to prefer the loop (maybe it's even more robust if the table ever changes) feel free to push, I'm not particular. :-) From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 26 09:32:45 2015 Received: (at 20887) by debbugs.gnu.org; 26 Jun 2015 13:32:45 +0000 Received: from localhost ([127.0.0.1]:57810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8TkK-0000Yo-I3 for submit@debbugs.gnu.org; Fri, 26 Jun 2015 09:32:45 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:59730) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8TkE-0000YT-OR for 20887@debbugs.gnu.org; Fri, 26 Jun 2015 09:32:40 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NQK00J000ECPJ00@mtaout26.012.net.il> for 20887@debbugs.gnu.org; Fri, 26 Jun 2015 16:35:10 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQK00IZ10EMUE00@mtaout26.012.net.il>; Fri, 26 Jun 2015 16:35:10 +0300 (IDT) Date: Fri, 26 Jun 2015 16:32:26 +0300 From: Eli Zaretskii Subject: Re: bug#20887: 'make bootstrap' now verrrry slow due to recent isearch changes In-reply-to: X-012-Sender: halo1@inter.net.il To: bruce.connor.am@gmail.com Message-id: <83pp4id28l.fsf@gnu.org> References: <558A0950.2000501@cs.ucla.edu> <2nbng5pou7.fsf@fencepost.gnu.org> <558AB250.5040908@cs.ucla.edu> <83vbeddu4d.fsf@gnu.org> <83si9hdthc.fsf@gnu.org> <83mvzoex5g.fsf@gnu.org> <838ub7eso2.fsf@gnu.org> <83y4j6dhyz.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20887 Cc: 20887@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 26 Jun 2015 12:41:52 +0100 > From: Artur Malabarba > Cc: 20887@debbugs.gnu.org > > If you have any reason whatsoever to prefer the loop (maybe it's > even more robust if the table ever changes) feel free to push, I'm > not particular. :-) I see no reasons to replace your code. From unknown Sun Jun 22 11:38:07 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 25 Jul 2015 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator