[ESS] Aquamacs ESS slow scroll (buffering?)

Rainer M Krug Rainer at krugs.de
Mon Nov 25 10:13:17 CET 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On 11/25/13, 09:44 , Vitalie Spinu wrote:
>>>> Martin Maechler on Mon, 25 Nov 2013 09:13:21 +0100 wrote:
> 
>> I've seen similar "slowdown on humongous output" behavior in ESS 
>> on Linux. (and it may have worsened recently)... but then I've 
>> always had the feeling that this should teach users to prefer 
>> str(.) for potentially large objects.. :-)
> 
> Or C-c C-d C-e C-e ...
> 
>> I agree it woul be nice if we (ESS) could do much better than 
>> now. Vitalie, do I understand correctly that your optimization 
>> only applies when font locking has been turned off ?
> 
> No, it applies to font lock as well, but it is insignificant when 
> font-lock is on.
> 
> On this issue, several things inter-play: font-lock, machine 
> performance, emacs re-display and the amount of text already 
> present in the process buffer. I sort of solved the last issue.
> 
> One workaround that could be implemented is to hide the long input 
> with elipses. The elipses could be expanded on user's request.
> Then nor emacs redisplay, nor font-lock will interfere.

I really like this - it so really nicely org-like.

Following this folding, it would be brilliant if folding could be done
at each level, i.e. if you say print(y), it would give you

y...

If you click on y, it would show all the list elements, but folded.

Then you  can select the one one is interested in - a little bit like
an interactive version of str.

Thinking of it - would it be fast to show the object in an org buffer,
configured so that the org folding mechanisms could be used (incl
narrow to subtree, ...)

Rainer


> 
> Vitalie
> 
>> On Mon, Nov 25, 2013 at 2:01 AM, Vitalie Spinu 
>> <spinuvit at gmail.com> wrote:
>>> 
>>> Hi Paul,
>>> 
>>> I have just added an optimization. It should be considerably 
>>> faster if you don't use font lock, especially if you already 
>>> have long comint buffer.
>>> 
>>> The main issue is font-lock for me. It drags your example from 
>>> 9 sec to unbelievable 500 seconds on my machine. I don't know 
>>> how to satisfactory address this. Some time ago I tried to 
>>> tinker with it by deactivating during the process output, but 
>>> nothing came out of it.
>>> 
>>> Vitalie
>>> 
>>> 
>>>>>> Paul Johnson on Sun, 24 Nov 2013 14:06:37 -0600 wrote:
>>> 
>>>> I've been uninterested in Macs, but I'm trying to be more 
>>>> helpful with student questions by using a MacBook Pro 
>>>> sometimes.  I installed Aquamacs, which has ESS 13.05 built 
>>>> in.
>>> 
>>>> I'm encouraging students to Aquamacs because there is some 
>>>> hope of continuity across platforms if they learn Emacs on 
>>>> Windows and Linux.  But it is not as uniform as I would
>>>> like, since Aquamacs has fiddled the menus and shortcut keys
>>>> just enough to make this frustrating. Anyway...
>>> 
>>>> Yesterday, a student said he preferred to use R.app because 
>>>> Aquamacs is super slow while displaying long vectors of text 
>>>> values. Huh? I thought he must have broken something in his 
>>>> Mac, but I see same.
>>> 
>>>> Can you guess if this is a configuration problem, or a Mac 
>>>> OSX problem?
>>> 
>>>> My working example, with system.time output at the end.
>>> 
>>>> ## Paul Johnson ## 2013-11-23
>>> 
>>>> ## Student reports that Macintosh Aquamacs has slow
>>>> on-screen scrolling ## of large text arrays. So I've created
>>>> this test
>>> 
>>>> set.seed(23456)
>>> 
>>>> y <-  lapply(1:50000, function(x) paste0(letters[1:(rpois(1, 
>>>> 10))], collapse=""))
>>> 
>>>> system.time(print(y))
>>> 
>>>> ## Aquamacs output (ESS 13.05) ## user  system elapsed ## 
>>>> 0.293   0.268  88.735
>>> 
>>>> ## R.app output ## user  system elapsed ##  1.552   0.028 
>>>> 1.575
>>> 
>>>> Why is elapsed time so grossly in excess of user + system.
>>> 
>>>> This reminded me of the problem in MS Command Shell when 
>>>> running C programs compiled with gcc (back in the day). 
>>>> Viewing lots of printf statements was very slow in Windows, 
>>>> not in Linux.
>>> 
>>>>> sessionInfo()
>>>> R version 3.0.2 (2013-09-25) Platform: 
>>>> x86_64-apple-darwin10.8.0 (64-bit)
>>> 
>>>> locale: [1] 
>>>> en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>
>>>>
>>>> 
>> 
>>>> attached base packages: [1] stats     graphics  grDevices 
>>>> utils     datasets  methods   base
>>> 
>>>> I don't know how to describe the Aquamacs version to you.
>>>> The file it comes from is on 
>>>> http://aquamacs.org:Aquamacs-Emacs-2.5.dmg>  > In there I 
>>>> find: ESS- 13.05
>>> 
>>> ______________________________________________ 
>>> ESS-help at r-project.org mailing list 
>>> https://stat.ethz.ch/mailman/listinfo/ess-help>
> 
> ______________________________________________ 
> ESS-help at r-project.org mailing list 
> https://stat.ethz.ch/mailman/listinfo/ess-help
> 

- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer at krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJSkxStAAoJENvXNx4PUvmC1doIALv2t4f45S+Hm8scuiCs+WSL
Yx4iBcdyjqLG8WIIw2P/6CpNZOtssu7BPWaBd01FtV2ucDp2BVz26qzhQeEHmCBg
VwmTS3XZWrerwLoQ5p2HFuLtC77XRe0faZ2GrGqrITBaJE/C/6M4UcHt8ZTPhmaJ
2hx8qKKDKXDoSuxfGx22nzO/veg1K+ZmhnfEhR6AsWudjiCUi8DauIyi3gdk5RI4
IpBGHf76z6Xmu1izAOuf7LJncRQdqs5WHOjXjg9pIYTFuiWGZSD+mZtV+1pFm+Nr
1/+f3FipsK8uT5TtVV+hALf5m16dIZM6dCmJogsAOBUdXPkWNmEcmWkfKw4E3w0=
=xznS
-----END PGP SIGNATURE-----



More information about the ESS-help mailing list