From: Ali G. R. <ali...@gm...> - 2008-06-09 15:44:48
|
Hi, Moving or editing in ``rst-mode`` is intolerably slow. I've tried:: (elp-instrument-package "rst-") I've used ``C-v``\s to scroll a typical 700-line rst file to the end; ``(elp-results)`` showed: =================================== ========== ============ ============= Function Name Call Count Elapsed Time Average Time =================================== ========== ============ ============= rst-font-lock-find-unindented-line 2058 1.9204979999 0.0009331865 rst-font-lock-handle-adornment 2688 0.9492640000 0.0003531488 rst-classify-adornment 1344 0.7307980000 0.0005437485 rst-forward-indented-block 1050 0.5581180000 0.0005315409 rst-adornment-level 1344 0.0084640000 6.297...e-06 =================================== ========== ============ ============= After that scrolling was fast. I've added a couple of paragraphs somewhere in the middle; it yielded: =================================== ========== ============ ============= Function Name Call Count Elapsed Time Average Time =================================== ========== ============ ============= rst-font-lock-handle-adornment 6080 4.3332760000 0.0007127098 rst-font-lock-find-unindented-line 4697 3.7577949999 0.0008000415 rst-forward-indented-block 2396 2.6108030000 0.0010896506 rst-classify-adornment 3040 2.2314339999 0.0007340243 rst-adornment-level 3040 0.1957770000 6.440...e-05 =================================== ========== ============ ============= Is this a known issue? If so, how can I improve it? By the way, I'm using emacs 23.0.60 on debian etch. Regards, Ali |
From: Dave K. <dku...@re...> - 2008-06-09 22:46:23
|
Ali Gholami Rudi <aligrudi <at> gmail.com> writes: > > Hi, > > Moving or editing in ``rst-mode`` is intolerably slow. It was slow for me, too. I believe that what I did was to turn off font-lock. The rst.el contains a comment that says that you can turn it off with the following: (setq font-lock-global-modes '(not rst-mode)) which I placed in my .emacs file. Now, emacs in rst-mode is nice and snappy for me. Hope this helps. - Dave |
From: Ali G. R. <ali...@gm...> - 2008-06-10 05:05:27
|
On Jun 10 2008 03:16 +0430, Dave Kuhlman wrote: > Ali Gholami Rudi <aligrudi <at> gmail.com> writes: > >> >> Hi, >> >> Moving or editing in ``rst-mode`` is intolerably slow. > > It was slow for me, too. I believe that what I did was to turn off > font-lock. The rst.el contains a comment that says that you can turn it > off with the following: > > (setq font-lock-global-modes '(not rst-mode)) But it disables highlighting, too. I'd rather doing something like:: (setq font-lock-global-modes '(not rst-mode)) (add-hook 'rst-mode-hook 'font-lock-fontify-buffer) It highlights the file very fast, but doesn't update it after changing the buffer. It seems strange. Why using font-lock-fontify-buffer is so fast but when font-lock mode is turned on highlighting is so slow (regardless of whether rst-mode-lazy is set or not). I think that can be improved. I've never worked with emacs' font lock before; but as far as I can tell, the main problem is handling multiline highlights and finding non-overlapping blocks. Does my elp profile give any info? Maybe that block identification can be improved. Regards, Ali |
From: Dave K. <dku...@re...> - 2008-06-13 22:35:36
|
Stefan Merten <smerten <at> oekonux.de> writes: > > > Hi Ali! > > Yesterday Ali Gholami Rudi wrote: > > Moving or editing in ``rst-mode`` is intolerably slow. > > It is essential to set up the respective font lock support mode > correctly. Unfortunately that can not be done by ``rst-mode`` because > AFAICS it would influence more than desired. > > > Is this a known issue? If so, how can I improve it? > > The remedy which worked so far were to set ``jit-lock-defer-time`` to > some value - say 0.25. Please tell whether this helped. For me, the following gives very acceptable performance: (setq jit-lock-defer-time 0.75) But, even without the highlighting, rst-mode is a huge benefit for me. Thanks very much Stefan. I'm using Emacs 22.1.1 on Debian x86_64 GNU/Linux 2.6.24-18-generic. - Dave |