John Hendy <jw.he...@gmail.com> wrote:

>     o run top (or whatever equivalent is available on your OS) and see
>       whether the CPU (or one of the CPUs) gets pegged at 100% utilization
>       and stays there. If yes, that's an indication of an infinite loop
>       somewhere.
> 
> - quit any other instances of emacs/R
> - start `top` in terminal
> - execute block
> - Use '<' '>' to sort back and forth between cpu and ram
> 
> Observations
> - R is at 80-100% cpu for about 5sec
> - Then emacs shifts to fairly constant ~100% cpu usage 
> - After about a minute, the minibuffer expands to ~1/3 of the window height 
> and fills with the csv
> data
> - Finished after ~5min total time
> - So, R took about 5sec, emacs took another 5min to finish
>  
> 

So not an infinite loop. That's progress ;-)

Perhaps emacs is thrashing? If you are on linux, use swapon -s
or (perhaps better) iostat, or (perhaps even better, at least if
you are on the Gnome 2.x desktop[fn:1]), run the system monitor
applet, click Properties, enable all the monitored resources
(cpu, mem, net, swap, load, disk) and watch it while you are
running the test: in particular, check memory and swap. If you
are swapping even a little bit, that's enough to cause severe
performacne problems[fn:2], which can be cured by using less memory
(so stop any memory hogs from running) or by adding memory.

Top can also show you memory and swap so maybe that's the quickest
way to check.

Nick

Footnotes:

[fn:1] You can pobably do this in other desktops but I have no
       experience with them, so no guidance to give.

[fn:2] My old laptop with 1GB of memory would swap whenever I ran mairix
       to index my mail: it would take 30 minutes or so to finish.  My
       new(er) laptop has 4GB and finishes in 30 seconds: memory usage
       peaks at about 2.5 GB.


Reply via email to