[Rd] Very slow plot rendering with X11 on CentOS 5.5

2010-09-29 Thread R P Herrold

On Tue, 28 Sep 2010, R P Herrold wrote:


I am connecting from a PC to a Linux system running CentOS
release 5.5 (Final) and it is extremely slow to render plots
to the X11 device.



f - function(n){

   for(i in 1:n) qqnorm(rnorm(100))
}
system.time(f(20))

I'll get a packaging built under CentOS 5 on that other architecture 
overnight, and supplement this post


done -- same sources and build environment, but a i686 rather 
than a a x86_64 architecture.  Similar hardware at the remove 
unit in the local subnet


It is noticeably sluggish in the rendering compared to local X 
client to X server



f - function(n){

+for(i in 1:n) qqnorm(rnorm(100))
+ }

system.time(f(20))

   user  system elapsed
  0.953   0.185  36.992

-- Russ herrold

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Very slow plot rendering with X11 on CentOS 5.5

2010-09-29 Thread Weigand, Stephen D.
Many, many thanks for the effort Russ. I'm not clear on next steps
but think I need to look at CentOS vs. others in terms of X. 

-Original Message-
From: R P Herrold [mailto:herr...@owlriver.com] 
Sent: Wednesday, September 29, 2010 8:40 AM

On Tue, 28 Sep 2010, R P Herrold wrote:

 I am connecting from a PC to a Linux system running CentOS release 
 5.5 (Final) and it is extremely slow to render plots to the X11 
 device.

 f - function(n){
for(i in 1:n) qqnorm(rnorm(100))
}
system.time(f(20))

 I'll get a packaging built under CentOS 5 on that other architecture 
 overnight, and supplement this post

done -- same sources and build environment, but a i686 rather than a a
x86_64 architecture.  Similar hardware at the remove unit in the local
subnet

It is noticeably sluggish in the rendering compared to local X client to
X server

 f - function(n){
+for(i in 1:n) qqnorm(rnorm(100))
+ }
 system.time(f(20))
user  system elapsed
   0.953   0.185  36.992

-- Russ herrold

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Very slow plot rendering with X11 on CentOS 5.5

2010-09-29 Thread R P Herrold

On Wed, 29 Sep 2010, Weigand, Stephen D. wrote:


Many, many thanks for the effort Russ. I'm not clear on next steps
but think I need to look at CentOS vs. others in terms of X.


I suspect all X will be similar within an order of magnitude, 
but dunno -- I did not 'tune' the workstation I tested on to 
be a racehorse, and there are ways to do that.  Your local 
admins will (should) know how


I guess with such dramatic speed difference, if R is part of 
your daily analytic toolset, I'd use those time trialling as 
the evidence to be lobbying for a local workstation to work 
in.  out of scope, here of course


-- Russ herrold

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Very slow plot rendering with X11 on CentOS 5.5

2010-09-28 Thread Weigand, Stephen D.
I am connecting from a PC to a Linux system running CentOS
release 5.5 (Final) and it is extremely slow to render plots 
to the X11 device. 

This is not R's fault but I wonder if anyone can offer 
guidance so I can help the system administrators address 
the problem.

I can connect to the Linux server using a NoMachine NX client 
for Windows or using X-Win32. I also have access to R running 
on my Windows PC and an older version of R on Solaris which 
I connect to using X-Win32.

Using a test function of:

f - function(n){
  for(i in 1:n) qqnorm(rnorm(100))
}
system.time(f(20))

I get typical timings of:

Platform Version Client'type'  user  system elapsed

Linux2.11.0  NX client  cairo  1.012  0.131   7.155 
Linux2.11.0  NX client  Xlib   0.964  0.127   7.119  

Linux2.11.0  X-Win32cairo  1.141  0.211  20.287
Linux2.11.0  X-Win32Xlib   1.116  0.207  20.152

Solaris  2.8.1   X-Win32cairo  0.172  0.020   0.356
Solaris  2.8.1   X-Win32Xlib   0.173  0.019   0.364

Win322.11.1  Native0.030.220.25 


The Linux timings are just awful, particularly using 
X-Win32. Cairo vs. Xlib doesn't seem to matter much.

Does anybody have any suggestions on what to look into? 

I can work around the Linux problems by not using the X11 
device and instead writing a plot to a temporary PNG or 
PDF and using Eye of GNOME or Evince but that isn't ideal.
But I would welcome any tips in this regard.

The Linux sessionInfo is:

R version 2.11.0 (2010-04-22) 
x86_64-unknown-linux-gnu 

locale:
 [1] LC_CTYPE=en_US.UTF-8   LC_NUMERIC=C  
 [3] LC_TIME=en_US.UTF-8LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=C  LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8   LC_NAME=C 
 [9] LC_ADDRESS=C   LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C   

attached base packages:
[1] stats graphics  grDevices utils datasets  methods   base


Thank you,

Stephen

--
Stephen Weigand, Statistician II
Biomedical Statistics and Informatics
(507) 266-1650; fax (507) 284-9542
Mayo Clinic; 200 First St. SW
Rochester, Minn., 55905 USA 

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Very slow plot rendering with X11 on CentOS 5.5

2010-09-28 Thread R P Herrold

On Tue, 28 Sep 2010, Weigand, Stephen D. wrote:


I am connecting from a PC to a Linux system running CentOS
release 5.5 (Final) and it is extremely slow to render plots
to the X11 device.



The Linux timings are just awful, particularly using
X-Win32. Cairo vs. Xlib doesn't seem to matter much.


I have to think it is display rendering load at the displaying 
unit [an X server], or network latencies in getting the detail 
from the producer [an X client] to the displaying unit [an X 
server]


With centos 5 on a local X display [so the X client, and 
the X server do not have to push the content through the X 
fowarding and across the network sockets, but rather can go 
through the lo interface under Linux]:



f - function(n){

+   for(i in 1:n) qqnorm(rnorm(100))
+ }

system.time(f(20))

   user  system elapsed
  0.220   0.028   2.417




which is quite sprightly ;)

---

Then when I run it on the same hardware, but through two SSH 
hops, to, and back from a remote unit in the local subnet, 
things fall apart:


[herr...@centos-5 ~]$ ssh xps400
Last login: Tue Sep 28 11:00:05 2010 from centos-5.first.lan
[herr...@xps400 ~]$ ssh centos-5
herr...@centos-5's password:
Last login: Tue Sep 28 09:13:50 2010
[herr...@centos-5 ~]$ R
 ...

f - function(n){

+   for(i in 1:n) qqnorm(rnorm(100))
+ }

system.time(f(20))

   user  system elapsed
  0.352   0.272  29.681




---

I build my own R packaging under CentOS and do not have a 
packaging suitable for the architecture of that intermediate 
box -- installing R to a Debian testing box, and running the X 
forwarding connection only one hop, it is again visually 
rebdered MUCH slower.  I get:



system.time(f(20))

   user  system elapsed
  0.644   0.212  45.089




yikes  ;)

I'll get a packaging built under CentOS 5 on that other 
architecture overnight, and supplement this post


-- Russ herrold

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Very slow plot rendering with X11 on CentOS 5.5

2010-09-28 Thread Henrik Bengtsson
For whatever it is worth, a long time ago I had this problem when ssh
-X connecting to a server and doing simple plots such as plot(1:10).
It was painfully slow and I could see how each data points was
plotted.  After using X11.options(type=Xlib) in R things was back to
normal (fast) again.  I think the default before was
X11.options(type=cairo).

My $0.02

/Henrik

On Tue, Sep 28, 2010 at 3:19 PM, R P Herrold herr...@owlriver.com wrote:
 On Tue, 28 Sep 2010, Weigand, Stephen D. wrote:

 I am connecting from a PC to a Linux system running CentOS
 release 5.5 (Final) and it is extremely slow to render plots
 to the X11 device.

 The Linux timings are just awful, particularly using
 X-Win32. Cairo vs. Xlib doesn't seem to matter much.

 I have to think it is display rendering load at the displaying unit [an X
 server], or network latencies in getting the detail from the producer [an X
 client] to the displaying unit [an X server]

 With centos 5 on a local X display [so the X client, and the X server do not
 have to push the content through the X fowarding and across the network
 sockets, but rather can go through the lo interface under Linux]:

 f - function(n){

 +   for(i in 1:n) qqnorm(rnorm(100))
 + }

 system.time(f(20))

   user  system elapsed
  0.220   0.028   2.417


 which is quite sprightly ;)

 ---

 Then when I run it on the same hardware, but through two SSH hops, to, and
 back from a remote unit in the local subnet, things fall apart:

 [herr...@centos-5 ~]$ ssh xps400
 Last login: Tue Sep 28 11:00:05 2010 from centos-5.first.lan
 [herr...@xps400 ~]$ ssh centos-5
 herr...@centos-5's password:
 Last login: Tue Sep 28 09:13:50 2010
 [herr...@centos-5 ~]$ R
  ...

 f - function(n){

 +   for(i in 1:n) qqnorm(rnorm(100))
 + }

 system.time(f(20))

   user  system elapsed
  0.352   0.272  29.681


 ---

 I build my own R packaging under CentOS and do not have a packaging suitable
 for the architecture of that intermediate box -- installing R to a Debian
 testing box, and running the X forwarding connection only one hop, it is
 again visually rebdered MUCH slower.  I get:

 system.time(f(20))

   user  system elapsed
  0.644   0.212  45.089


 yikes  ;)

 I'll get a packaging built under CentOS 5 on that other architecture
 overnight, and supplement this post

 -- Russ herrold

 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel