Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • bliss bliss
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 544
    • Issues 544
    • List
    • Boards
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 145
    • Merge requests 145
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • BlissBliss
  • blissbliss
  • Merge requests
  • !3480

Flint: Rework scan listener

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Valentin Valls requested to merge valentin.valls/bliss:rework-scan-listener-with-updated-api into master Feb 17, 2021
  • Overview 0
  • Commits 11
  • Pipelines 3
  • Changes 9

This PR clean up the scan_manager to support the low level ScansObserver instead of DefaultScansObserver.

This allow to:

  • Reduce the processing at a critical place (previously, some information was not exposed)
  • Make it more readable as there is no more dict with non-explicit content.

This MR allow clean up few things in Flint scan_manager module.

For that a field is-scan-sequence was introduced in the scan_info, be able to distinguish scans and scans containing scans (0efe67c4)

Benchmark

Setup

  • Tested with 64 channels of 64 values
  • Only the data reception is benchmarked (before sending it to the application pipeline)
  • 100 iterations / 5 repeat

Brute force computation

In the worst case scenario when every single new data have to be processed independently.

  • Starting point: 9.14s
  • Use ScansObserver: 2.1s (4.4 faster)

Gevent caching

Release gevent loop every 32 data

  • Starting point: 4.54s
  • Use ScansObserver: 4.2s (close to the same)
  • Push scalar channel by bunch: 3.71s
  • Mitigate use of concate for very fast data pushing: 2.83s
Edited Feb 19, 2021 by Valentin Valls
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: rework-scan-listener-with-updated-api