mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Small speed up to _collection_changed (#90621)
attrgetter builds a fast method which happens in native code
4664a7cf68/Modules/_operator.c (L1413)
This commit is contained in:
parent
d5d5bb0732
commit
1189b2ad70
@ -7,6 +7,7 @@ from collections.abc import Awaitable, Callable, Coroutine, Iterable
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
import logging
|
import logging
|
||||||
|
from operator import attrgetter
|
||||||
from typing import Any, cast
|
from typing import Any, cast
|
||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
@ -410,9 +411,8 @@ def sync_entity_lifecycle(
|
|||||||
# Create a new bucket every time we have a different change type
|
# Create a new bucket every time we have a different change type
|
||||||
# to ensure operations happen in order. We only group
|
# to ensure operations happen in order. We only group
|
||||||
# the same change type.
|
# the same change type.
|
||||||
for _, grouped in groupby(
|
groupby_key = attrgetter("change_type")
|
||||||
change_sets, lambda change_set: change_set.change_type
|
for _, grouped in groupby(change_sets, groupby_key):
|
||||||
):
|
|
||||||
new_entities = [
|
new_entities = [
|
||||||
entity
|
entity
|
||||||
for entity in await asyncio.gather(
|
for entity in await asyncio.gather(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user