Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performances recherches / construction de la liste #155

Open
pabuisson opened this issue Oct 1, 2020 · 4 comments
Open

Performances recherches / construction de la liste #155

pabuisson opened this issue Oct 1, 2020 · 4 comments

Comments

@pabuisson
Copy link
Contributor

pabuisson commented Oct 1, 2020

Bonjour bonjour,

Ces temps-ci, je suis venu assez souvent sur le site, et j'ai pu remarquer qu'avec l'augmentation du nombre de sons, la recherche commence à être peu réactive, c'est en particulier sensible sur mobile. Je commence à taper, la première lettre s'affiche, ça bloque, et ensuite la fin de ce que j'ai tapé s'affiche subitement.

J'ai jeté un oeil au code derrière et, bien que ne connaissant pas backbone, le problème semble venir de la façon dont la liste de sons est créée : lorsqu'on filtre, tous les sons visibles sont détruits, puis ceux qui doivent être affichés après filtrage sont recréés. Sur une liste de 600+ sons, ça semble être trop... et plus on ajoutera de sons, pire ce sera.

Des choses ont déjà été envisagées pour améliorer les perfs ? J'ai en tête :

  • Paginer les items et charger les pages au scroll (pour en charger/construire moins d'un coup),
  • Débouncer la recherche,
  • Mettre à jour certaines dépendances peut-être ?
  • Ou carrément revoir la façon dont la collection de sons est filtrée ?

Je peux envisager de faire quelques PR dans les semaines qui viennent si vous êtes partants.

@pabuisson
Copy link
Contributor Author

Une image valant 1000 mots, voici un enregistrement de mon écran durant une recherche sur le site :

MNML-October1-055154PM-1

@HugoGresse
Copy link
Contributor

J'ai pas l'historique du projet mais juste faire le debouncer me semble être assez rapide à mettre en place avec un minimum d'effort, à voir si ça améliorer assez les performances.

@pabuisson
Copy link
Contributor Author

J'ai pas l'historique du projet mais juste faire le debouncer me semble être assez rapide à mettre en place avec un minimum d'effort, à voir si ça améliorer assez les performances.

J'avais commencé à le faire, ça semblait effectivement simple même sans connaissance de Backbone, je peux toujours faire une PR

@2ec0b4
Copy link
Owner

2ec0b4 commented Oct 1, 2020

En effet, avec le nombre maintenant important de sons, la recherche est impactée.
C'est Hacktoberfest, les PR sont encouragées 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants