rostime call is slow
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
While developing a Matlab wrapper around a ROS package, I noticed that rostime("now") takes around 1.4e-03 s per call. In Python on the other hand the same call only takes 4.8e-06 s. I understand that there might be implementation differences, but Matlab being orders of magnitude slower than Python seems strange. Is there anything I am doing wrong here?
Matlab script for timing:
tic
for i = 1:1000
a = rostime("now");
end
toc / 1000
Python script for timing:
import rospy
import time
if __name__ == "__main__":
rospy.init_node("test")
t0 = time.clock()
for i in range(1000):
a = rospy.Time.now()
t1 = time.clock()
print((t1 - t0) / 1000)
Thanks!
Edit:
I found this bug report and the workaround using robotics.ros.internal.Time([]).CurrentTime is about 10 times faster than rostime("now"). This is better but still not as fast as it should be. I am also not sure how much of a hack this is.
0 Kommentare
Antworten (1)
Amrtanshu Raj
am 5 Feb. 2021
Hi,
The difference in computation time is because of the implementation difference between the MATLAB and Python version of the command. Even declaring a static rostime like
time = rostime(2,85000);
Takes around 1.4e-03 seconds to compute. I have brought this to the notice of the developers.
Thanks !!
0 Kommentare
Siehe auch
Kategorien
Mehr zu Publishers and Subscribers finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!