Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-editing-services gst-editing-services
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 74
    • Issues 74
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-editing-servicesgst-editing-services
  • Merge requests
  • !62

WIP: Improve ges_layer_add_clip performance

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Mart Raudsepp requested to merge leio/gst-editing-services:add-clip-performance into master Apr 12, 2019
  • Overview 9
  • Commits 4
  • Pipelines 5
  • Changes 6

Batch addition of many clips in a loop has various sorting and management stuff show up for around 50% of the total CPU time. This is from doing sorting after each automatic track element priority change, going through the resync_priorities machinery for each, etc. These two patches vastly improve the situation on the premise that the updated data shouldn't be necessary before the timeline is committed, and in fact the commit code already did all this yet again already. After this the GESTrack track elements list isn't sorted thousands of times anymore, and profiling starts showing more logical things as top CPU consumers, like GstElement creations. Adding 1000+ clips still takes over 1.7 seconds, but before this patchset it was 4-6 seconds.

I'm notsure about the removal of the resync on layer priority change, but seemed a logical change too when we are going to assume it all should get sorted out at commit time only.

Edited Sep 24, 2021 by Tim-Philipp Müller
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: add-clip-performance