From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: open large file with C code: is it realy should be so slow? Date: Fri, 4 Dec 2009 15:25:23 +0000 Message-ID: <20091204152523.GA5435@muc.de> References: <2a382c6e0812010201h7a2507fbg66a38f392d9837a9@mail.gmail.com> <20081201123716.GA3603@muc.de> <2a382c6e0901041407w2ca824cdy88d1529af8966069@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1259940022 7131 80.91.229.12 (4 Dec 2009 15:20:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 4 Dec 2009 15:20:22 +0000 (UTC) Cc: bug-cc-mode@gnu.org, emacs-devel@gnu.org To: Dave Milter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 04 16:20:14 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NGZx8-0008FH-2Y for ged-emacs-devel@m.gmane.org; Fri, 04 Dec 2009 16:20:14 +0100 Original-Received: from localhost ([127.0.0.1]:52930 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NGZx7-0001pE-7Q for ged-emacs-devel@m.gmane.org; Fri, 04 Dec 2009 10:20:13 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NGZx0-0001mb-I2 for emacs-devel@gnu.org; Fri, 04 Dec 2009 10:20:06 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NGZwu-0001Zb-UX for emacs-devel@gnu.org; Fri, 04 Dec 2009 10:20:05 -0500 Original-Received: from [199.232.76.173] (port=59861 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NGZwu-0001ZA-Lb for emacs-devel@gnu.org; Fri, 04 Dec 2009 10:20:00 -0500 Original-Received: from colin.muc.de ([193.149.48.1]:4702 helo=mail.muc.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NGZwu-0003wp-2p for emacs-devel@gnu.org; Fri, 04 Dec 2009 10:20:00 -0500 Original-Received: (qmail 498 invoked by uid 3782); 4 Dec 2009 15:19:57 -0000 Original-Received: from acm.muc.de (pD9E5155F.dip.t-dialin.net [217.229.21.95]) by colin2.muc.de (tmda-ofmipd) with ESMTP; Fri, 04 Dec 2009 16:19:56 +0100 Original-Received: (qmail 5588 invoked by uid 1000); 4 Dec 2009 15:25:23 -0000 Content-Disposition: inline In-Reply-To: <2a382c6e0901041407w2ca824cdy88d1529af8966069@mail.gmail.com> User-Agent: Mutt/1.5.9i X-Delivery-Agent: TMDA/1.1.5 (Fettercairn) X-Primary-Address: acm@muc.de X-detected-operating-system: by monty-python.gnu.org: FreeBSD 4.6-4.9 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:118260 Archived-At: Hi, Dave! I've got this problem fixed, and have committed the new versions of the CC Mode files (in particular, cc-engine.el, cc-mode.el, cc-defs.el, cc-fonts.el, cc-langs.el) to both the CC Mode project at http://cc-mode.sf.net/ and the main Emacs repository at http://cvs.savannah.gnu.org/viewvc/emacs/emacs/lisp/progmodes/. Normally, I'd send you a patch, but you reported the bug so long ago, and the patch would be enormous, so I think it's best if you could just download the new version. If this is awkward for any reason, get back in touch and I'll email you the files. Please try out this new version, and let me know if it's not up to scratch. Once again, thanks for the original bug report, and once again, sorry it's taken so long to fix. Sincerely, -- Alan Mackenzie (Nuremberg, Germany). On Mon, Jan 05, 2009 at 01:07:18AM +0300, Dave Milter wrote: > On Mon, Dec 1, 2008 at 3:37 PM, Alan Mackenzie wrote: > > On Mon, Dec 01, 2008 at 01:01:08PM +0300, Dave Milter wrote: > >> I have problem with emacs responsibility, > >> I work with large enough C header files, > >> and when I want to scroll it using mouse's wheel or > >> page (up|down) keys emacs stop react on any keys, like (ctrl+g), > >> and eats 100% of CPU's time during long period, > >> I wonder is this a bug, or expected behaviour? > > It's a bug. > > Although C Mode works "properly" here, it doesn't seem to be tuned very > > well for files like this one (At91SAM9253_inc.h), which contain a lot of > > #defines and comments and nothing else. > I made some more testing (to find out problem in "file", or in "large"), > because of really want to see this bug fixed, > I see the same behaviour on file created by > for ((i=0;i<500;++i)); do echo "extern void f${i}(int a${i});"; done > emacs from cvs and emacs 22 show the same behaviour - > eating 100% of cpu, if make fast scrolling. > >> elp results are: > Function Name Call Count > Elapsed Time Average Time > ========================================================= ========== > ============ ============ > font-lock-fontify-region 41 > 230.65321899 5.6256882682 > font-lock-default-fontify-region 41 > 230.65264900 5.6256743658 > font-lock-fontify-keywords-region 41 > 230.61167599 5.6246750243 > font-lock-fontify-syntactically-region 41 > 0.039573 0.0009651951 > font-lock-unfontify-region 41 > 0.0005050000 1.231...e-05 > font-lock-default-unfontify-region 41 > 0.0001930000 4.707...e-06 > font-lock-extend-region-wholelines 41 > 0.0001080000 2.634...e-06 > font-lock-extend-region-multiline 41 > 9.800...e-05 2.390...e-06 > font-lock-set-defaults 41 > 8.299...e-05 2.024...e-06 > font-lock-mode 3 > 7.6e-05 2.533...e-05 > font-lock-default-function 3 > 1.400...e-05 4.666...e-06 > In fact, with small files, for example the same script but 5000 -> 500, > I see the same situation, but after eating cpu during some period, > it never eating it after, and all works smoothly, > while with big files it eats it every fast scroll. > ------------------------------------------------------------------------------