Performance limitations of CompoundGenerator::get_point
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Refactor
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- python
- Domain
- performance
Research direction
Start by profiling CompoundGenerator::get_point and tracing its indexing logic for values from component generators using tiled masks. Compare the current buffering and memory-speed tradeoff against scan rates in the kHz range; done means get_point can keep up with the required scan pace without unacceptable memory use.
Written by the indexing model from the issue text.
Description
Malcolm has started running into problems where get_point is unable to keep up with the pace of scans (now into the kHz range) - buffering can only help so much.
get_point has quite a lot of indexing logic to retrieve the values from the component generators based on tiled masks. Can anything be done to simplify this, perhaps by pushing the memory-speed tradeoff made previously further in the "more memory for more speed" direction?
- Dominant language
- Python
- Stars
- 6
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DiamondLightSource/scanpointgenerator
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in DiamondLightSource/scanpointgenerator
Similar issues
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
python-version
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
bug javascript P2-medium python release:v3.1
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
adrirubio/claude-deck#546 ·
Maintainers usually reply within 1 day
-
area: desktop area: website priority: P2 type: feature
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
appandflow/stim#3411 · 1 comment ·
Maintainers usually reply within 1 day