From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: master 289000e: Merge branch 'feature/native-comp' into trunk Date: Wed, 28 Apr 2021 11:34:13 +0000 Message-ID: References: <831rayktot.fsf@gnu.org> <83v989jmuc.fsf@gnu.org> <83czuhjh0r.fsf@gnu.org> <83bla1jd0w.fsf@gnu.org> <83y2d5hsaq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3567"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org, akrl@sdf.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 28 13:35:08 2021 Return-path: Envelope-to: ged-emacs-devel@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 ) id 1lbiTE-0000pZ-7I for ged-emacs-devel@m.gmane-mx.org; Wed, 28 Apr 2021 13:35:08 +0200 Original-Received: from localhost ([::1]:52162 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lbiTD-0005oG-Au for ged-emacs-devel@m.gmane-mx.org; Wed, 28 Apr 2021 07:35:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44430) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lbiSR-0005ME-SC for emacs-devel@gnu.org; Wed, 28 Apr 2021 07:34:19 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:52269 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1lbiSO-0006mU-M8 for emacs-devel@gnu.org; Wed, 28 Apr 2021 07:34:19 -0400 Original-Received: (qmail 76048 invoked by uid 3782); 28 Apr 2021 11:34:14 -0000 Original-Received: from acm.muc.de (p4fe15c50.dip0.t-ipconnect.de [79.225.92.80]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 28 Apr 2021 13:34:14 +0200 Original-Received: (qmail 9933 invoked by uid 1000); 28 Apr 2021 11:34:13 -0000 Content-Disposition: inline In-Reply-To: <83y2d5hsaq.fsf@gnu.org> X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.1; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:268562 Archived-At: Hello, Eli. On Mon, Apr 26, 2021 at 20:25:17 +0300, Eli Zaretskii wrote: > > Date: Mon, 26 Apr 2021 17:02:44 +0000 > > Cc: akrl@sdf.org, emacs-devel@gnu.org > > From: Alan Mackenzie > > Put point at the start of xdisp.c (or any other large file), optionally > > type and delete a space (to clear font-lock text properties), and do M-: > > (time-scroll). This scrolls through the buffer one screenful at a time, > > displaying each screenful, then reports the total time. > > I've come to the conclusion in the last hour or so that CC Mode just > > isn't sped up much at all by native compilation. Using Andrea's tip of > > C-h f c-mode + look for "natively compiled", it is clear that the > > natively compiled files _are_ being used. > Yes, for this benchmark, I find the natively-compiled code somewhat > (by about 5%) _slower_ than the byte-compiled code. But this > benchmark only shows off the fontifications, so maybe it isn't > surprising. CC Mode is much more than that. I wrote another benchmark which removes all indentation, then reindents every line: (defmacro time-it (&rest forms) "Time the running of a sequence of forms using `float-time'. Call like this: \"M-: (time-it (foo ...) (bar ...) ...)\"." `(let ((start (float-time))) ,@forms (- (float-time) start))) (defun time-indent () (interactive) (save-excursion (goto-char (point-min)) (while (not (eobp)) (delete-horizontal-space) (beginning-of-line 2)) (goto-char (point-min)) (message "%s" (time-it (while (not (eobp)) (c-indent-line) (beginning-of-line 2)))))) Run with M-: (time-indent). The timings on src/minibuf.c were: (i) .elc files: 6.31s. (ii) .eln files: 5.44s. , which is around a 13% speed up. -- Alan Mackenzie (Nuremberg, Germany).