AP24110011695 commented on PR #76935: URL: https://github.com/apache/airflow/pull/76935#issuecomment-6828418579
Applied your prescription in d3e76d9e — thank you for actually running the tests on both trees and for the benchmark numbers. - The dict → `items()` conversion now happens once in `MapXComArg.resolve`, `ZipXComArg.resolve` and `ConcatXComArg.resolve` (I verified your claim that those are the only construction sites of the three result classes), and the per-index `isinstance` branches in `_get_or_fill` / `_ConcatResult.__getitem__` are gone. `_MapResult` had the same per-index shape from #75022 and is fixed in the same pass as you suggested. - Measured on this machine with your 20k-key scenario: full zip iteration went **31.3s → 0.029s**; concat len+last-index **1.6s → 0.003s**. Behavior unchanged — all the resolve-level assertions (including the int-keyed and fillvalue cases) still return the same `(key, value)` tuples. - Added the concat test with the dict **after** a sequence (both positive and negative indices) to cover the offset walk directly. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
