Avoid creating tasks for automation and script validation (#111181)

These functions created tasks to run small validators, and the cost of
creating all the tasks was more expensive than running the validators
themselves. Since the code is unlikely to suspend its more efficient to
await them in series.
This commit is contained in:
J. Nick Koston
2024-02-23 08:41:36 -10:00
committed by GitHub
parent 5d421e249f
commit 3877a56d23
3 changed files with 12 additions and 13 deletions

View File

@@ -274,9 +274,9 @@ async def async_validate_actions_config(
hass: HomeAssistant, actions: list[ConfigType]
) -> list[ConfigType]:
"""Validate a list of actions."""
return await asyncio.gather(
*(async_validate_action_config(hass, action) for action in actions)
)
# No gather here because async_validate_action_config is unlikely
# to suspend and the overhead of creating many tasks is not worth it
return [await async_validate_action_config(hass, action) for action in actions]
async def async_validate_action_config(