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]

Reply via email to