Un navigateur de code (Windows)

Programmation d'applications complexes
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par cage »

Bonsoir,

Version bêta 8 téléchargé et compilée --> tout semble OK pour l'instant.

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

Cool ! Dis-moi si tu trouves autre chose.
Et encore merci.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par cage »

Bonsoir,

Il est 00h45 et je viens de rentrer d'une belle journée a la campagne.
Je prends une minute pour te faire un retour de ce que j'avais constaté ce lundi.

Si j'ouvre un projet assez gros en terme de nombre de lignes, de procédures, de constantes, de variables diverses, l'application PBBrowser ne répond plus avec le message (Ne répond pas) dans la barre de titre.
L'interface est complètement bloquée et si j'attends assez longtemps (non chronométré mais je dirais entre 1 et 2 minutes) je retrouve une interface active et je peux explorer le code.

Ma première conclusion serait que tu as des procédures bloquantes (Non Threadées) car l'application doit rentrer dans une boucle qui ne rend la main qu'une fois terminée.

J'essayerais de t'en dire plus après des essais plus longs.

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

cage a écrit : mar. 22/oct./2024 23:48J'essayerais de t'en dire plus après des essais plus longs.
Ho, ho ! Je suis impatient de découvrir la suite.

On dirait bien un bug, car l'ouverture d'un projet de 2 Mo chez moi ne prend que quelques secondes et j'imagine mal qu'on puisse faire beaucoup plus gros. Si tu arrive à trouver sur quelle procédure ça s'embourbe, je pourrais imaginer ce qui se passe.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
Guillot
Messages : 672
Inscription : jeu. 25/juin/2015 16:18

Re: Un navigateur de code (Windows)

Message par Guillot »

mais il m'a l'air très utile ton outil
il peut se ranger a droite, dans le paneau des outils personnalisée ?
t'as l'air de maitriser scintilla !
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

Guillot a écrit : mer. 23/oct./2024 10:32 mais il m'a l'air très utile ton outil
il peut se ranger a droite, dans le paneau des outils personnalisée ?
t'as l'air de maitriser scintilla !
Bonjour Guillot,

Il peut se ranger à droite, mais pas dans le panneau des outils personnalisés pour le moment. Tu peux aussi simplement le fermer, puis le rouvrir quand tu en as besoin, en faisant CTRL + Q.

Oui, je pense que c'est très utile. Personnellement, je ne pourrais plus m'en passer ! Je l'utilise tout le temps, que ce soit sur des gros programmes ou sur des petits. Beaucoup d'autres IDE, pour Python, C ou Rust on des fonctions de navigation intégrées. Maintenant, PureBasic aussi ! :D

Je ne maîtrise pas du tout Scintilla, mais l'EditorGadget, oui ! La mise en forme du code, telle que tu peux la voir dans la vidéo de démonstration, est entièrement faite dans un EditorGadget. J'ai développé une interface texte sur la base du TOM (Text Object Model), qui est téléchargeable sur la même page que PureBrowser, qui est super rapide et super pratique. Après, il fallait réussir à parser le code, pour pouvoir le mettre en couleurs, et ça n'était pas une mince affaire. Mais ça marche !
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par cage »

Bonsoir,

Un petit retour sur le problème de blocage de l'interface de PBB que je rencontre sur certains codes.
Une image valant mieux qu'un long discours, voici ce que ça donne:
Image

Image

Soit prêt de 8 minutes avant de retrouver la main sur PBB (version x64 compilée) 8O :?

Bon, d'accord, ne vous moquez pas, mon PC date d'une autre époque ou 64Ko de mémoire voulait dire quelque chose.
Voir ma signature.
Je précise quand même que mon PC est équipé d'un Samsung SSD 870 EVO 1TB (SATA (SSD))
cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

Ha ouais ! C'est grave chargé, question constantes et variables, même si le code n'est pas démentiel en taille totale !

Je peux sans doute optimiser l'examen des constantes, pour des cas comme celui-là, mais ce qui est étrange, c'est que cela bloque tes interactions avec le programme, alors que l'examen est censé se faire en tâche de fond, quel que soit le temps qu'il nécessite.

Je peux essayer de reproduire une configuration de code qui ressemble à celle que je vois dans tes statistiques, histoire de faire des tests poussés. Si la chose te semble possible, l'idéal serait quand même que je travaille directement avec un code qui coince. Si tu en as un (_yh64.pb, par exemple) qui ne contient rien de sensible pour toi, ça serait top que tu me l'envoies (luc.deborde(at)gmail.com) comme ça, je verrais bien ce qui se passe.
Je suis sûr que ça peut se régler.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par cage »

Bonjour,

Je ne peux malheureusement pas fournir le code PB
Il s'agit d'une application 'Gestion de réseau' que je développe et maintien pour mon ancienne entreprise.
Je suis retraité depuis 2014 mais je continue a avoir de bon rapports avec mes anciens collègues.
Voici ce que donne l'interface:
Image

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

cage a écrit : mar. 29/oct./2024 15:34Je ne peux malheureusement pas fournir le code PB
OK, don't worry, je vais fabriquer un code bourré de constantes et je verrais bien ce que ça donne.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

La beta 0.10 est en ligne à l'adresse figurant dans le premier post. Le problème de lenteur rencontré par Cage sur un code qui comportait énormément de constantes et de variables m'a amené à refondre entièrement la partie consacrée à l'analyse de code. Elle est désormais entre 3 et 200 fois plus rapide que la version précédente. Sur mon ordi, l'analyse d'un code comportant 20 000 lignes ne dure que 1,4 sec.

@Cage : j'ai synthétisé un code comportant 2000 constantes et 1000 variables, pour tenter de reproduire le problème que tu avais rencontré et j'ai effectivement constaté un ralentissement qui devenait exponentiel quand le nombre d'éléments à analyser dépassait 1000. D'où la refonte de la partie consacrée à l'analyse. Du coup, tout est plus rapide, même pour les codes de taille plus modeste :wink:
Je pense que ton code qui prenait plusieurs minutes à analyser devrait désormais être traité en une poignée de secondes.
Pas encore de panneau "Préférences" pour basculer l'interface en "Dark mode", parce que j'ai pas mal transpiré pour cette amélioration des performances, mais c'est toujours au planning.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par cage »

Bonsoir,

Je viens d'ouvrir mon PC et de découvrir une mise à jour.
Je n'ai pu attendre pour la tester.
Malheureusement, sur le même code qui demandait 8 minutes pour être analysé, j'obtiens un plantage systématique au bout de quelques secondes.
A utilisant la version source, j'obtiens le message suivant:

Code : Tout sélectionner

[01:03:18] Waiting for executable to start...
[01:03:18] Executable type: Windows - x64  (64bit, Unicode, Purifier)
[01:03:18] Executable started.
[01:03:35] [ERROR] ExpressionEvaluator.pb (Line: 26)
[01:03:35] [ERROR] Division by zero forbidden.
Partie du code ou intervient l'erreur:

Code : Tout sélectionner

Procedure.i ApplyOperator(VLeft.i, op.s, VRight.i)
  Select op
    Case "+"
      ProcedureReturn VLeft + VRight
    Case "-"
      ProcedureReturn VLeft - VRight
    Case "*"
      ProcedureReturn VLeft * VRight
    Case "/"
      ProcedureReturn VLeft / VRight ;;; <--- l'erreur se produit ici
    Case "|"
      ProcedureReturn VLeft | VRight
    Case "&"
      ProcedureReturn VLeft & VRight
    Case "~"
      ProcedureReturn VLeft | ~ VRight
    Case "!"
      ProcedureReturn VLeft ! VRight
    Case "|~"
      ProcedureReturn VLeft | ~ VRight
    Case "&~"
      ProcedureReturn VLeft & ~ VRight
    Case "!~"
      ProcedureReturn VLeft !~ VRight  
  EndSelect
  ProcedureReturn 0
EndProcedure
Je ne sais pas si c'est suffisant pour apporter une correction.

Ton application m'est vraiment utile pour nettoyer mon code.
Encore merci.

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

Tu vois bien que c'est plus rapide ! ça plante, d'accord, mais ça plante très rapidement :mrgreen:
Plus sérieusement, je suis désolé pour ça. Je vois très bien d'où ça vient et c'est une partie du code qui n'est absolument pas essentielle puisqu'elle tente seulement de calculer la valeur réelle d'une constante à partir de sa définition.
En attendant que je publie une nouvelle version (j'y travaille déjà) tu peux régler l'affaire toi-même, pour ce problème-là, en modifiant le 'Case' concerné comme suit :

Code : Tout sélectionner

Case "/"
     if VRight
      ProcedureReturn VLeft / VRight
     else
      ProcedureReturn 0
    endif
Merci pour ta patience.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par cage »

Bonjour,

C'est un tout petit peu mieux. :D
Image
Peut mieux faire.

Non, je plaisante.
Je ne vais pas dire que c'est parfait, je n'ai pas trouvé le bouton pour faire le café.

Plus sérieusement, il me semble avoir vu quelques petites erreurs de «Non utilisé» alors que si, mais je n'ai pas noté.
Encore merci,
cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Un navigateur de code (Windows)

Message par ZapMan »

C'est donc seulement dix fois plus rapide que la version précédente.
Et trente fois plus lent que sur ma machine, pour l'analyse d'un code équivalent 8O !
Peut-être que c'est vraiment ton PC qui rame comme pas possible pour ce type de boulot. Pourtant, PBBrowser tourne assez bien sur l'un de mes vieux PC équipé de Windows 7...
ça m'intéressait d'avoir des benchmarks pour d'autre codes un peu lourds que tu as dans ta bibliothèque, si tu as le temps.
Est-ce que tu as un SSD, ou un antique disque dur à l'ancienne ?

La version Beta 0.11 est en ligne à l'adresse fournie dans le premier post.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Répondre