mirror of
https://github.com/hwchase17/langchain.git
synced 2026-01-24 05:50:18 +00:00
1. Remove `shielded` decorator from non-end event handlers 2. Exit early with a `self.handlers` check instead of doing unnecessary asyncio work Using a benchmark that processes ~200k chunks (a poem about broccoli). Before: ~15s Circled in blue is unnecessary event handling time. This is addressed by point 2 above <img width="1347" alt="Screenshot 2025-05-14 at 7 37 53 AM" src="https://github.com/user-attachments/assets/675e0fed-8f37-46c0-90b3-bef3cb9a1e86" /> After: ~4.2s The total time is largely reduced by the removal of the `shielded` decorator, which holds little significance for non-end handlers. <img width="1348" alt="Screenshot 2025-05-14 at 7 37 22 AM" src="https://github.com/user-attachments/assets/54be8a3e-5827-4136-a87b-54b0d40fe331" />