IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Test de l'unité RegularExpressions avec Delphi 10


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut Test de l'unité RegularExpressions avec Delphi 10
    Bonjour !

    Compilé avec XE2, le simple programme TestRegularExpressions contenu dans cette archive s'exécute avec succès. Compilé avec XE10 Delphi 10, il cesse de fonctionner après quelques secondes, sans avoir produit aucun résultat.

    Auriez-vous une idée de ce que c'est ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    J'ai fait un rapport à Embarcadero :

    https://quality.embarcadero.com/browse/RSP-12442
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    j'ai repris ton exemple mais avec un dfm plutôt qu'en application console et là en mode debug il me sort un problème de mémoire
    j'ai donc réduit ton fichier 1.txt à quelques lignes et c'est nickel (même ton application)

    cela sent (pue) donc le débordement de mémoire mais de là en conclure un bug
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    j'ai repris ton exemple mais avec un dfm plutôt qu'en application console et là en mode debug il me sort un problème de mémoire
    j'ai donc réduit ton fichier 1.txt à quelques lignes et c'est nickel (même ton application)
    Merci pour ton essai. Tes observations rejoignent celles que j'ai pu faire.

    Citation Envoyé par SergioMaster Voir le message
    cela sent (pue) donc le débordement de mémoire mais de là en conclure un bug
    Si je te comprends bien, ça veut dire que mon programme ferait ferait un usage excessif ou inapdapté des fonctions de l'unité, qui provoquerait un débordement quelque part ? Ce qui est quand même étonnant, c'est qu'avec XE2 le programme est peut-être un peu lent mais vient quand même à bout de son travail.

    Maintenant, pour le programme lui-même, c'est vrai qu'il est peut-être mal écrit, et qu'il vaudrait mieux passer par une itération que par une collection.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Une variante du programme de test, basée sur la fonction NextMatch.

    Cette fois, le programme compilé avec XE10 s'exécute, en 70 secondes contre... 4 secondes pour le programme compilé avec XE2 !
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Même en améliorant l'expression, le temps d'exécution reste à peu près le même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      PATTERN = '^([A-Z]:\\)([\w\s\\\.-]+)(\\\w+\.\w+)$';
     
      expr := TRegEx.Create(PATTERN, [roMultiline]);
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

Discussions similaires

  1. [Unit Testing] Comment s'y prendre avec Hibernate ?
    Par Wookai dans le forum Hibernate
    Réponses: 2
    Dernier message: 21/06/2007, 11h10
  2. Test Compatibilité j2se 1.4 avec j2se 50
    Par trax020 dans le forum Langage
    Réponses: 1
    Dernier message: 09/05/2007, 07h49
  3. [XPath] test d'existence de noeud avec conditions sur les enfants
    Par MasterOfChakhaL dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 11/04/2007, 10h42
  4. [OpenSTA] Test de montée en charge avec OpenSTA et plusieurs machines
    Par Rrominet dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 07/03/2007, 12h08
  5. probleme test presence d'un fichier(avec fso)
    Par pagez dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/08/2005, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo