Performance issue on resize
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- performance
Research direction
Start by locating the boost::multi_array resize implementation and the handling for fortran_storage_order(). Use the minimal example at https://godbolt.org/z/GWbxcM14h to compare the current behavior and performance; done means resizing only the rightmost dimension preserves behavior without the nested std::copy calls described here.
Written by the indexing model from the issue text.
Description
When I use boost::multi_array with boost::fortran_storage_order(), and I want to .resize by only the latest (rightmost) dimension, the current implementation is a nested N function call (std::copy), one by dimension.
The same functionality can be reached with one std::copy on the storage.
This minimal example shows the problem:
https://godbolt.org/z/GWbxcM14h
- Dominant language
- C++
- Stars
- 32
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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 boostorg/multi_array
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
boostorg/multi_array#38 · 2 comments · 1 reaction ·
-
boostorg/multi_array#35 · 2 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
boostorg/multi_array#34 ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
boostorg/multi_array#33 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
boostorg/multi_array#31 · 2 comments ·
All issues in boostorg/multi_array
Similar issues
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 88/100
QuantStack/git2cpp#187 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
mlcommons/mobile_app_open#1182 ·
-
Needs-Triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/winget-cli#6547 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·