Projet

Général

Profil

Development #77456

optimisations parcours des clés pour l'inspect

Ajouté par Frédéric Péters il y a 12 mois. Mis à jour il y a 12 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
10 mai 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Analyse sur un nouveau cas de timeout de la page d'inspection (#77442),

Deux optimisations ici :

  • dans formdata/get_parent,
-return objectdef_class.get(objectdef_id).data_class().get(objectdata_id)
+return objectdef_class.cached_get(objectdef_id).data_class().cached_get(objectdata_id)
  • dans wf/create_formdata.py, LazyFormDataLinks/inspect_keys, ne pas retourner plusieurs fois la même clé,
    def inspect_keys(self):
+       seen = set()
        for part in self._formdata.iter_evolution_parts():
-           if isinstance(part, LinkedFormdataEvolutionPart) and part.varname and part.formdata:
+           if isinstance(part, LinkedFormdataEvolutionPart) and part.varname and part.formdata and part.varname not in seen:
+               seen.add(part.varname)
                yield part.varname

(c'est en fait quasi totalement cette dernière, qui faisait que les appels à get_parent était multipliés, etc.)

Révisions associées

Révision f8d2168b (diff)
Ajouté par Frédéric Péters il y a 12 mois

form links: do not yield same key multiple times (#77456)

Révision 8ca7f594 (diff)
Ajouté par Frédéric Péters il y a 12 mois

misc: make object cache work with data objects (#77456)

Révision 2a820d7c (diff)
Ajouté par Frédéric Péters il y a 12 mois

misc: cache formdata link parent (#77456)

Historique

#2

Mis à jour par Robot Gitea il y a 12 mois

  • Statut changé de Nouveau à En cours

Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :

#3

Mis à jour par Robot Gitea il y a 12 mois

  • Statut changé de En cours à Solution proposée
#4

Mis à jour par Robot Gitea il y a 12 mois

  • Statut changé de Solution proposée à Solution validée

Lauréline Guérin (lguerin) a approuvé une pull request sur Gitea concernant cette demande :

#5

Mis à jour par Robot Gitea il y a 12 mois

  • Statut changé de Solution validée à Résolu (à déployer)

Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :

#6

Mis à jour par Transition automatique il y a 12 mois

  • Statut changé de Résolu (à déployer) à Solution déployée
#7

Mis à jour par Transition automatique il y a 10 mois

Automatic expiration

Formats disponibles : Atom PDF