diff --git a/planning/planning_debug_tools/scripts/perception_replayer/perception_reproducer.py b/planning/planning_debug_tools/scripts/perception_replayer/perception_reproducer.py index d837abccc0670..b2b6a3c0ef38e 100755 --- a/planning/planning_debug_tools/scripts/perception_replayer/perception_reproducer.py +++ b/planning/planning_debug_tools/scripts/perception_replayer/perception_reproducer.py @@ -84,9 +84,14 @@ def on_timer(self): # copy the messages self.stopwatch.tic("message deepcopy") - msgs = pickle.loads(pickle.dumps(msgs_orig)) # this is x5 faster than deepcopy - objects_msg = msgs[0] - traffic_signals_msg = msgs[1] + if self.args.detected_object: + msgs = pickle.loads(pickle.dumps(msgs_orig)) # this is x5 faster than deepcopy + objects_msg = msgs[0] + traffic_signals_msg = msgs[1] + else: + # NOTE: No need to deepcopy since only timestamp will be changed and it will be changed every time correctly. + objects_msg = msgs_orig[0] + traffic_signals_msg = msgs_orig[1] self.stopwatch.toc("message deepcopy") self.stopwatch.tic("transform and publish")