boostorg / boostorg/multi_array

Performance issue on resize

Ouverte
#32 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
32
Forks
39
Métriques de merge des PR
Aucune PR mergée en 30 j

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par localiser l’implémentation de resize de boost::multi_array et la gestion de fortran_storage_order(). Utilisez l’exemple minimal à l’adresse https://godbolt.org/z/GWbxcM14h pour comparer le comportement et les performances actuels ; c’est terminé lorsque le redimensionnement de la seule dimension la plus à droite préserve le comportement sans les appels imbriqués à std::copy décrits ici.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
performance
Type d'issue
Refactorisation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.