Use of django signals prevents performance optimisation using bulk_{update,create} functions
In Django 2.0 a new functions were added that update multiple rows on the database in single query.
They are called bulk_update
and bulk_create
. On average they provide from 10000% to 25000% performance uplift.
See more details in this article: https://zerotobyte.com/using-django-bulk-create-and-bulk-update/
However, the big issue is that those function will not emit the signal hooks when they are modifying rows.
Currently there are many signals hooks defined in lava_scheduler_app/signals.py
.
Maybe there is room to remove the use of django signals and replace them more direct calls to emit ZMQ signals?
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information