From d06e42fdf538e5d8bda9130f85ec03a7e126783c Mon Sep 17 00:00:00 2001 From: Takayuki Murooka Date: Mon, 18 Dec 2023 14:25:56 +0900 Subject: [PATCH] perf(planning_debug_tools): improve calculation time of perception_reproducer (#5894) Signed-off-by: Takayuki Murooka --- .../perception_replayer/perception_reproducer.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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")