unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: David De La Harpe Golden <david@harpegolden.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: acm@muc.de, lennart.borgman@gmail.com, monnier@iro.umontreal.ca,
	emacs-devel@gnu.org
Subject: Re: Emacs 23.0 is much slower starting than Emacs 22.3
Date: Fri, 24 Oct 2008 16:00:57 +0100	[thread overview]
Message-ID: <4901E329.3010002@harpegolden.net> (raw)
In-Reply-To: <uwsfyxqlh.fsf@gnu.org>

Eli Zaretskii wrote:
>> Date: Fri, 24 Oct 2008 02:44:31 +0100
>> From: David De La Harpe Golden <david@harpegolden.net>
>> CC: acm@muc.de, Eli Zaretskii <eliz@gnu.org>, monnier@iro.umontreal.ca, 
>>  emacs-devel@gnu.org
>>
>> David De La Harpe Golden wrote:
>>
>>
>>> +++ Which leaves set-auto-mode...
>> Which seems to be mostly the particular mode - So of course, this can 
>> presumably vary wildly from mode to mode, but let's take c-mode (seeing 
>> as it's for the c files I was testing with):
>>
>> set-auto-mode->set-auto-mode-0->
>> c-mode-> (c-init-language-vars-for,
>> c-common-init->(c-basic-common-init,
>> run some internal hooks, like the "neutralize"), ...)
>>
>> See existing c-neutralize-syntax-in-CPP initial comment:
>> "SPEED _MATTERS_ IN THIS FUNCTION!!!"
>>
>> Profiling confirms - yes, it does. :-)
> 
> How does this compare with Emacs 22?

(gc-cons-threshold @ 1G as it was for the emacs23 test your replied to)

As you can see by comparing the two, the "set-auto-mode" path of 
"normal-mode" is  similar overhead on both but "hack-local-variables" is 
about 27 TIMES slower on emacs23...

Function Name                 Call Count  Elapsed Time  Average Time
============================  ==========  ============  ============
find-file-noselect            180         2.2096209999  0.0122756722
find-file-noselect-1          180         1.4848800000  0.0082493333
after-find-file               180         1.226164      0.0068120222
normal-mode                   180         0.9997670000  0.0055542611
set-auto-mode                 180         0.9343669999  0.0051909277
set-auto-mode-0               180         0.9077470000  0.0050430388
c-mode                        180         0.9068940000  0.0050383000
c-common-init                 180         0.6864290000  0.0038134944
c-neutralize-syntax-in-CPP    182         0.5930520000  0.0032585274
run-hooks                     1998        0.2834299999  0.0001418568
c-init-language-vars-for      180         0.1180209999  0.0006556722
c-basic-common-init           180         0.0789910000  0.0004388388
c-neutralize-CPP-line         14000       0.0531670000  3.797...e-06
hack-local-variables          181         0.0335519999  0.0001853701
easy-menu-add                 180         0.0288129999  0.0001600722
make-local-variable           11046       0.0169949999  1.538...e-06
set-auto-mode-1               363         0.0139350000  3.838...e-05
kill-all-local-variables      361         0.0090380000  2.503...e-05
c-setup-paragraph-variables   361         0.0067259999  1.863...e-05
c-update-modeline             360         0.0059999999  1.666...e-05
c-extend-region-for-CPP       182         0.0048190000  2.647...e-05
c-font-lock-init              180         0.0033029999  1.834...e-05
cc-imenu-init                 180         0.0009289999  5.161...e-06
c-initialize-cc-mode          180         0.0004939999  2.744...e-06
c-after-change                2           0.000241      0.0001205
use-local-map                 182         0.0001749999  9.615...e-07
set-syntax-table              182         0.0001529999  8.406...e-07
c-before-change               2           0.000103      5.15e-05
c-extend-after-change-region  2           3e-06         1.5e-06




  reply	other threads:[~2008-10-24 15:00 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-22  9:11 Emacs 23.0 is much slower starting than Emacs 22.3 Alan Mackenzie
2008-10-22 13:23 ` Stefan Monnier
2008-10-22 13:55   ` John covici
2008-10-22 15:14   ` Alan Mackenzie
2008-10-22 16:46     ` David De La Harpe Golden
2008-10-22 21:12       ` Alan Mackenzie
2008-10-22 21:19         ` Eli Zaretskii
2008-10-23  9:21           ` Alan Mackenzie
2008-10-23 21:53             ` Eli Zaretskii
2008-10-23  6:53         ` David De La Harpe Golden
2008-10-23  9:09           ` Alan Mackenzie
2008-10-23 16:57             ` David De La Harpe Golden
2008-10-23 21:52               ` Eli Zaretskii
2008-10-23 22:33                 ` Lennart Borgman
2008-10-24  9:26                   ` Eli Zaretskii
2008-10-23 22:47                 ` David De La Harpe Golden
2008-10-23 23:12                   ` Lennart Borgman
2008-10-23 23:54                     ` Lennart Borgman
2008-10-24  9:51                       ` Eli Zaretskii
2008-10-24 13:58                         ` David De La Harpe Golden
2008-10-24 15:44                         ` Lennart Borgman
2008-10-24 16:24                           ` Chong Yidong
2008-10-24 16:48                             ` Eli Zaretskii
2008-10-24 16:45                           ` David De La Harpe Golden
2008-10-24 16:53                             ` Eli Zaretskii
2008-10-25  2:01                             ` Richard M. Stallman
2008-10-25  3:38                               ` David De La Harpe Golden
2008-10-24  0:13                     ` David De La Harpe Golden
2008-10-24  0:59                       ` Lennart Borgman
2008-10-24  1:58                         ` David De La Harpe Golden
2008-10-24  1:44                       ` David De La Harpe Golden
2008-10-24  9:57                         ` Eli Zaretskii
2008-10-24 15:00                           ` David De La Harpe Golden [this message]
2008-10-24 11:21                         ` Alan Mackenzie
2008-10-24 14:32                           ` David De La Harpe Golden
2008-10-24 19:28                             ` Alan Mackenzie
2008-10-24 19:35                               ` David De La Harpe Golden
2008-10-24  4:13                       ` Stefan Monnier
2008-10-24 15:19                         ` David De La Harpe Golden
2008-10-24 18:42                           ` Stefan Monnier
2008-10-24 19:36                             ` David De La Harpe Golden
2008-10-24 23:44                             ` David De La Harpe Golden
2008-10-25 15:19                               ` Stefan Monnier
2008-10-25 17:02                                 ` David De La Harpe Golden
2008-10-24  9:52                       ` Eli Zaretskii
2008-10-24  9:35                     ` Eli Zaretskii
2008-10-24  9:30                   ` Eli Zaretskii
2008-10-23  1:29       ` Miles Bader
2008-10-23  9:06         ` Alan Mackenzie
2008-10-22 18:26 ` Eli Zaretskii
2008-10-22 21:40   ` Alan Mackenzie
2008-10-22 22:09     ` Eli Zaretskii
2008-10-22 21:02 ` Richard M. Stallman
2008-10-24 11:59   ` Emacs 23.0 is much slower than Emacs 22.3. Maybe it's the garbage collector Alan Mackenzie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4901E329.3010002@harpegolden.net \
    --to=david@harpegolden.net \
    --cc=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=lennart.borgman@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).