← Retour aux issues

perf: CategoriesProvider

publié le , mis à jour
Avatar Codeberg de n4n5n4n5

Est-ce que ce hook est vraiment utile ? On pourrait pas le lazy-load ? Car le CategoriesProvider est tout en haut de l'app, donc il est envoyé au client a chaque fois

image

  1. Avatar Codeberg de etienneJretienneJr

    ça sert à charger la liste des catégories dans la bonne langue. J'avoue que j'ai probablement copié cette ligne d'un fichier à l'autre sans réfléchir à l'impact sur la perf. Si il y a moyen de faire mieux, en chargeant la liste 1 seule fois au démarrage de l'app, ou lors du changement de langue, alors oui bien sûr n'hésite pas. Ca a vraiment un impact sur la perf de l'appeler plusieurs fois ?

  2. Avatar Codeberg de n4n5n4n5

    Je parle pas de ces lignes spécifiquement ^^

    Je parle du composant CategoriesProvider qui permet ensuite d'utiliser le hook useLingui qui renvoie les categories

    https://codeberg.org/cartes/web/src/commit/7b61d4e53d137de7023668566a4350ce07823217/components/LinguiClientProvider.tsx#L35

    Bah ça fait que les catégories sont chargés au même moment que l'App. Si on les charges de façon Lazy, ça pourrait normalement réduire le premier chargement de l'app

    Mais y a peut être une raison qui fait que c'est comme ça

    https://codeberg.org/cartes/web/commit/a638916c200612a307992f70732b7b1ee922a968

  3. Avatar Codeberg de laemlaem

    Il n'y a que sur les routes statiques genre le blog et tout qu'on ne veut pas des catégories, non ? Sinon elles sont nécessaires pour presque tous les usages de cartes.app, non ?

  4. Avatar Codeberg de n4n5n4n5

    @laem wrote in https://codeberg.org/cartes/web/issues/3062#issuecomment-23453665:

    Sinon elles sont nécessaires pour presque tous les usages de cartes.app, non ?

    Elles sont nécessaires, mais pas au premier chargement. Actuellement, elles sont chargées dès le premier chargement. ça fait 15kb à télécharger obligatoirement. C'est pas grand chose si on regarde les autres tailles de requetes, mais c'est toujours ça de gagner pour optimiser le premier chargement je pense

  5. Avatar Codeberg de laemlaem

    C'est pas grand chose si on regarde les autres tailles de requetes, mais c'est toujours ça de gagner pour optimiser le premier chargement je pense

    Oui mais si elles sont ensuite chargées dans la foulée sans action utilisateur, c'est à peu près la même chose pour Google, qui attend que le site soit idle pour le considérer chargé.

  6. Avatar Codeberg de n4n5n4n5

    Je suis d'accord qu'elles sont chargées par la suite, mais comment le CategoriesProvider est tout en haut, je pense qu'il empeche le rendu de commencer.

    Alors que si on le mets dans les composants, la page pourra commencer à être rendu je pense

  7. Avatar Codeberg de laemlaem

    Ah c'est possible oui, si c'est un processus bloquant. Sinon, tout est fait en parallèle.


✏️ Participer à la discussion