Skip to content

Commit 05d0b90

Browse files
committed
Use generators instead of list comprehension
To make tasks faster and more memory-efficient. For example (Notification.id.in_(n.id for n in notifications) is twice as fast as a generator than it is as a list comprehension. Generators are also more memory efficient.
1 parent 2522356 commit 05d0b90

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

app/dao/notifications_dao.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ def dao_timeout_notifications(cutoff_time, limit=100000):
579579
)
580580

581581
Notification.query.filter(
582-
Notification.id.in_([n.id for n in notifications]),
582+
Notification.id.in_(n.id for n in notifications),
583583
).update({"status": new_status, "updated_at": updated_at}, synchronize_session=False)
584584

585585
db.session.commit()
@@ -698,7 +698,7 @@ def dao_update_notifications_by_reference(references, update_dict):
698698

699699

700700
def dao_get_unknown_references(references):
701-
v = values(column("reference", String), name="references").data([(r,) for r in references])
701+
v = values(column("reference", String), name="references").data((r,) for r in references)
702702

703703
return (
704704
db.session.execute(

app/dao/services_dao.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ def _delete(query):
410410
_delete(ApiKey.get_history_model().query.filter_by(service_id=service.id))
411411
_delete(AnnualBilling.query.filter_by(service_id=service.id))
412412

413-
verify_codes = VerifyCode.query.join(User).filter(User.id.in_([x.id for x in service.users]))
413+
verify_codes = VerifyCode.query.join(User).filter(User.id.in_(x.id for x in service.users))
414414
list(map(db.session.delete, verify_codes))
415415
users = list(service.users)
416416
for user in users:

0 commit comments

Comments
 (0)