ros-windows / win_ros

Windows support for Ros (Robot Operating System)
http://www.ros.org/wiki/win_ros
23 stars 16 forks source link

Slow on Windows #26

Open stonier opened 11 years ago

stonier commented 11 years ago

The following processes are much much slower than expected.

stonier commented 10 years ago

Another observation that may be connected. This was observed and discussed here on the mailing list and here on ros answers.

Some good testing there - this problem is isolated to roscpp nodes, so must be either in the xmlrpc lib or in the roscpp lib itself.

JonathanWade commented 10 years ago

Post for community knowledge. This bug was causing us some serious usability issues with rosbridge_suite on Win7 x64 to execution actionlib actions (C++ server) via roslibjs. Essentially, the our javascript code would run faster than rosbridge could keep up and all our results/feedback were dropping.

There may be numerous slowdown reasons in windows, but a clear culprit is the XMLRPC library in python. Digging around on the web it seems that this library (or perhaps pythons) DNS resolution, including 'localhost', is tremendously slow on Win7/8. It does not matter if localhost is explicitly set in your hosts file. As a quick test I changed my ROS_MASTER_URI env variables to be the IP address of the machines (e.g. 192.168.0.1:11311) instead of 'localhost:11311' or any other domain name. Sure enough across the board things run much, much faster including ros process startup, actions, services, etc. A quick fix is to simply set these environment variable yourself, in the long run perhaps the XMLRPC code needs to change for the windows platform ( this might be a potential fix )

I'll post on the google groups thread as well.

stonier commented 9 years ago

@JonathanWade thanks for the info.

yichoe commented 9 years ago

Each non-persistent call must take 0.1 second. Looking into here would be a reference.