Allowing extract_array calls to use pre-indexed grid information?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- r
- Domaine
- performance
Piste de recherche
Commencez par lire les points d’entrée extract_array et rowAutoGrid, puis examinez l’approche décrite dans LTLA/beachmat#20 pour la pré-indexation des blocs de lignes de dgCMatrix. Une modification complète définirait une manière générale permettant aux backends DelayedArray appropriés d’utiliser les informations de grille pré-indexées et démontrerait une amélioration des performances de l’extraction par lignes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The recent conversation in theislab/zellkonverter#34 reminded me of some work I did in LTLA/beachmat#20. Briefly, the idea was to speed up row-based block processing of dgCMatrix by performing a single pass over the non-zero elements beforehand to identify the start and end of each row block in each column. This avoids the need for costly per-column binary searches when each row block is extracted in the usual way, and gives a ~10-fold speed-up in row-based processing of dgCMatrixes.
Now I'm wondering whether this approach can be generalized somehow so that other DelayedArray backends can benefit. Perhaps functions like rowAutoGrid() can decorate the grid object with extra information that allows extract_array to efficiently obtain the necessary bits and pieces, if a suitable object like a dgCMatrix is passed?
Happy to give this - or other ideas - a crack with a PR if there is some interest.
- Langage dominant
- R
- Étoiles
- 29
- Forks
- 12
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Bioconductor/DelayedArray
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
Bioconductor/DelayedArray#129 · 11 commentaires ·
-
Custom delayed operations Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Bioconductor/DelayedArray#127 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
Bioconductor/DelayedArray#125 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Bioconductor/DelayedArray#123 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
Bioconductor/DelayedArray#122 ·
Toutes les issues de Bioconductor/DelayedArray
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
robjhyndman/forecast#1220 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
JamesHWade/deputy#192 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
bug triage_needed
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
pharmaverse/rtables#1123 · 1 commentaire · 1 réaction ·