Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • lava lava
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 96
    • Issues 96
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 64
    • Merge requests 64
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • lava
  • lavalava
  • Issues
  • #594

Closed
Open
Created Mar 01, 2023 by Igor Ponomarev@igo95862Contributor

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
Assignee
Assign to
Time tracking