From 49beffcc499cab91e3902f3c3edbf3fb8ee30469 Mon Sep 17 00:00:00 2001 From: John Kennedy <65985482+jkennedyvz@users.noreply.github.com> Date: Fri, 27 Feb 2026 22:42:50 -0800 Subject: [PATCH] perf: remove unnecessary typing.cast calls in add_messages The cast(BaseMessageChunk, m) calls in add_messages were no-ops at runtime but accounted for ~92K function calls per react_agent_100x benchmark run (~3ms overhead). Remove them since message_chunk_to_message already handles the type internally. Co-Authored-By: Claude Opus 4.6 --- libs/langgraph/langgraph/graph/message.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/libs/langgraph/langgraph/graph/message.py b/libs/langgraph/langgraph/graph/message.py index 18c96d436..cdc5fed99 100644 --- a/libs/langgraph/langgraph/graph/message.py +++ b/libs/langgraph/langgraph/graph/message.py @@ -191,14 +191,8 @@ def add_messages( if not isinstance(right, list): right = [right] # type: ignore[assignment] # coerce to message - left = [ - message_chunk_to_message(cast(BaseMessageChunk, m)) - for m in convert_to_messages(left) - ] - right = [ - message_chunk_to_message(cast(BaseMessageChunk, m)) - for m in convert_to_messages(right) - ] + left = [message_chunk_to_message(m) for m in convert_to_messages(left)] + right = [message_chunk_to_message(m) for m in convert_to_messages(right)] # assign missing ids for m in left: if m.id is None: