[R] slowness of plot(x, type='l')

apjaworski@mmm.com apjaworski at mmm.com
Fri May 6 22:19:01 CEST 2005





A couple of days ago a few messages indicated that something changed in the
basic plot routine that made plot(*, type='l') slow for large data sets.
Some people even reported crashes for very large data sets.  As far as I
remember, this was not reported as a formal bug.

I am still not sure if this is a bug, so I report my findings here.  First
of all, I think I see a slowdown of the plot function, although I do not
have older versions of R installed, so I cannot do side-by-side
comparisons.  Secondly, I noticed that the behavior of plot(*, type='l')
differs.  Before R-2.1, the plotted lines would appear on the plot
gradually.  Now, after the wait, the whole plot appears at once.

Here are my timing results.  I am on Windows2000, IBM Intellistation with
Xenon 2.8MHz with 1Gb of memory.  I checked May-06 versions of R-patched
and R-devel built from sources.  I ran the following simple test:

x <- rnorm(n)
date(); plot(x, type='l'); date()

Here are the timings:

      n     seconds
      5000  1
      6000  2
      7000  4
      8000  6
      9000  9
      10000 13
      12000 22
      14000 36
      20000 91

It looks like only type='l' and type='o' exhibit this behavior.  All other
types produce plots in approximately 1 second.  Also, the (long) wait and
plot at once behavior happens with the two types mentioned.  All others
(except 'n' of course) produce gradually appearing plots.

Hope this helps,

Andy

__________________________________
Andy Jaworski
518-1-01
Process Laboratory
3M Corporate Research Laboratory
-----
E-mail: apjaworski at mmm.com
Tel:  (651) 733-6092
Fax:  (651) 736-3122




More information about the R-help mailing list