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.