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

Autres IDE Pascal Discussion :

Sortie de la version 4.30 de CodeTyphon Studio


Sujet :

Autres IDE Pascal

  1. #1
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 879
    Points : 11 377
    Points
    11 377
    Billets dans le blog
    6
    Par défaut Sortie de la version 4.30 de CodeTyphon Studio
    Sortie de la version 4.30 de CodeTyphon Studio
    L'IDE multiplateforme basé sur Free Pascal et Lazarus



    Cette troisième révision (voir ci-dessous) inclut un IDE alternatif "maison" Typhon basé sur Lazarus.

    Typhon IDE :

    Son installation passe exclusivement par une réinstallation complète, au moins pour toute version antérieure à la 4.20.

    http://www.pilotlogic.com/sitejoom/

    Nouveautés de cette version 4.30 :

    ********************************************
    * CodeTyphon Studio *
    * GENERATION IV *
    * Changes Log File *
    * PilotLogic Software House *
    * 2008-2013 *
    ********************************************


    ======> 02-Jun-2013 ver 4.30 ===========================================

    Cosmetic: Add Typhon IDE to CodeTyphon Studio


    -Fix Cross-build elements for arm-android and i386-android

    -Update pl_RX Source (SVN 04-05-2013 Rev 2731 )
    -Update pl_WST Source (SVN 04-05-2013 Rev 2731 )
    -Update pl_ZeosDBO Source (SVN 06-05-2013 Rev 2224 )
    -Update pl_nxPascal Source (SVN 06-05-2013 Rev 84 )
    -Update pl_BGRAControls Source (SVN 06-05-2013 Rev 131 )
    -Update pl_Synapse Source (SVN 06-05-2013 Rev 184 )
    -Update pl_Indycomp Source (SVN 15-05-2013 Rev 5005 ver

    10.6.0.0)
    -Update pl_Castle Source (SVN 18-05-2013 Rev 12797)
    -Update pl_GLScene Source (SVN 18-05-2013 Rev 6380 )
    -Update pl_ZenGL Source (SVN 18-05-2013 Rev 2022 )
    -Update pl_LuiControls Source (SVN 18-05-2013 Rev 1054 )


    -Update pl_GlassDocking version 2.3.0
    -Update pl_ORCA Version 3.4.1


    Typhon IDE 4.3.0 Synchronize with Lazarus Source SVN 01-06-2013 Rev

    41480.
    FreePascal 2.7.1 Source from SVN 01-06-2013 Rev 24744, with

    Modification.
    La RoadMap prévoit d'intégrer très prochainement (4.40 ?) un IDE C/C++ destiné aux bibliothèques incluses dans les packages utilisés par CodeTyphon.

    Nouvelle version, nouvel IDE : qu'en pensez-vous ?

  2. #2
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 515
    Points : 10 259
    Points
    10 259
    Par défaut
    Peut-on installer CodeTyphon tout en gardant Lazarus ?

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    Peut-on installer CodeTyphon tout en gardant Lazarus ?
    oui, c:\lazarus d'un côté et c:\codetyphon de l'autre

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 27
    Points
    27
    Par défaut
    Mon precedent test de codetyphon n'a pas ete concluant parce que l'installation necessite imperativement le mode administrateur. pour ne pas polluer mon systeme principal, j'avais essaye sous une vm xp64, comodo a fait echouer l'installation parce qu'il n'a pas autorise certaines actions de l'installateur, je n'avais pas assez de temps, j'ai donc laisse tomber... pour cette nouvelle version, j'ai desinstalle comodo dans la vm et reessaye l'install, comme prevu tout se passe bien, la recompilation globale egallement, il me semble que l'ide est lazarus ou un clone avec un nom different, j'ai eu un petit probleme avec le lancement de l'ide qui necessite certaines dlls de window media player 11 (j'ai donc du installer wmp 11, bizarre...), le repertoire de codetyphon apres recompilation globale occupe env 3.47 go, c'est beaucoup, il ne reste plus qu'a tester et a voir l'interet... ca reste une usine a gaz, a mon avis deconseille dans un systeme principal mais dans une vm, ca peut presenter des avantages certains pour les compilations multiplateformes...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    J'ai testé code typhon. Le principe est plutôt sympa, je trouve simplement étrange qu'une application compilée avec Lazarus soit plus rapide que la même application compilée avec Typhon.

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 879
    Points : 11 377
    Points
    11 377
    Billets dans le blog
    6
    Par défaut
    Intéressant ; quel type d'application ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    Intéressant ; quel type d'application ?
    Voici le code, un exercice plutôt simple de génération d'anagrammes en mode récursif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, Sysutils, Fileutil, Forms, Controls, Graphics, Dialogs, StdCtrls;
     
    type
     
      { Tform1 }
     
      Tform1 = class(Tform)
        Button1: Tbutton;
        procedure Button1click(Sender: Tobject);
      private
        { private declarations }
      public
        { public declarations }
     
      end;
           Procedure anagrProf;
     
    var
      Form1: Tform1;
     
    implementation
     
    {$R *.lfm}
              Procedure anagrProf;
    Var
      ch: String;
      l: Byte;
      t:real;
      sLstResults: TStringList;
     
      Procedure EchangeCar(Var ch: String; i, j: Byte);
      Var
        car: Char;
      Begin
        If i <> j Then
        Begin
          car := ch[i];
          ch[i] := ch[j];
          ch[j] := car;
        End;
      End;
     
      Procedure anagram(ch: String; i: Byte);
      Var
        j: Byte;
      Begin
        If i = l Then
          slstresults.Add(ch)
        Else
          For j := i To l Do
          Begin
            EchangeCar(ch, i, j);
            Anagram(ch, i + 1);
            EchangeCar(ch, i, j);
          End;
      End;
     
    Begin
      ch :=inputbox('Anagrammes', 'Chaine de test ?', 'MONTAGNARD');
      l := length(ch);
      slstresults := TStringList.Create;
      t := TimeStampToMSecs(DateTimeToTimeStamp(now));
      anagram(ch, 1);
      showMessage('anagrammes chargés : ' + inttostr(slstresults.count) +   ' en ' + floattostr(TimeStampTomSecs(DateTimeToTimeStamp(now)) - t) + ' ms');
      slstresults := nil;
    End;
     
              { Tform1 }
     
              procedure Tform1.Button1click(Sender: Tobject);
              begin
                  anagrProf
              End;
     
    end.

  8. #8
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    as-tu les mêmes options de compilations (optimisations) ? as-tu la même version de fpc pour code typhon et lazarus ? cela se passe sur la même machine ? je ne vois pas pourquoi il y aurait une différence.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Nullosse Voir le message
    as-tu les mêmes options de compilations (optimisations) ? as-tu la même version de fpc pour code typhon et lazarus ? cela se passe sur la même machine ? je ne vois pas pourquoi il y aurait une différence.

    Optimisations et options de compilation sont strictement les mêmes, la version de FPC pour Lazarus est la 2.6.2, j'ignore comment reconnaitre la version de FPC pour code Typhon.

    La différence de perfs est très sensible, presque du simple au double.

  10. #10
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    bon j'ai fait un test avec codetyphon 4.20 lazarus32 sous windows 7 et Lazarus32 1.1 svn avec comme processeur un Quad core Q8300 2.5 Ghz

    code typhon 4.20 -> fpc : 2.7.1
    temps d'exécution : 1712 ms

    lazarus32 svn -> fpc : 2.6.3
    temps d'exécution : 1100 ms
    donc différence non négligeage. A voir si c'est la version de fpc qui influe où les librairies utilisées qui sont différentes ou compilées différemment.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 248
    Points : 538
    Points
    538
    Par défaut
    Bonjour,

    Si çà peut faire avancer le schmilblic j'ai voulu comparer les temps d'exécution du projet ci-dessus en utilisant les dernières révisions SVN de Lazarus avec tour à tour FPC trunc (2.7.1?) et FPC branches/fixes_2_6 (2.6.3?), sous W7 64b Lazarus 32b sur un E8400.
    Les meilleurs résultats obtenus dans les mêmes conditions d'optimisation et hors débogueur ont été approximativement:
    FPC trunk : 1400ms
    FPC 2.6 : 800ms
    Ça confirme vos essais effectués avec CT et l'influence de la version de FPC.
    J'ai pensé un instant que la directive {$IFNDEF FPC_TESTGENERICS} avant la déclaration du type TStringList y était pour quelque chose, mais la modification n'est pas récente.
    André

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    De mon côté, sur mon T9600 :
    CT64 4.30 + FPC ? -> 1778 ms
    LAZ64 1.0.10 + FPC 2.6.2 ->1139 ms

    Je ne connais pas bien le fonctionnement de Code Typhon, je vais dire une connerie : y aurait-il une surcouche au niveau de la compilation en raison des exigences du cross compiling ? Les exe sont toutefois de même taille.

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 27
    Points
    27
    Par défaut
    Interessant, je n'ai pas le temp de tester pour l'instant, mais il est clair qu'il doit y avoir une surcouche quelques part si les compilateurs fp utilisee sont de la meme version, cette difference de vitesse est bizarre pour ne pas dire illogique. quelqu'un sait qui est derriere CodeTyphon Studio...

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 248
    Points : 538
    Points
    538
    Par défaut
    J'ai l'impression de ne pas avoir été bien compris: mes essais ont été faits avec le seul IDE Lararus avec l'une et l'autre version de FPC. Ils montrent que la différence de temps d'exécution vient de la version de FPC, CT incluant la version 2.7.1 alors que Lazarus est resté avec la 2.6.2.
    Je ne pense pas que l'IDE, Lazarus natif ou CT, influent sur le code, dans la mesure où les paramètres passés au compilateur sont les mêmes.

    André

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 248
    Points : 538
    Points
    538
    Par défaut
    Bonjour,

    Le sujet "fpc 2.7.1 slower than fpc 2.6.3 ? " est justement abordé sur le forum de Lazarus ici http://www.lazarus.freepascal.org/in...msg123923.html et là http://www.lazarus.freepascal.org/in....msg89861.html

    André

  16. #16
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    bonsoir,
    c'est moi qui est posé la question dans le forum Lazarus de free pascal sous le pseudo de J.P. Il y a du nouveau car j'ai comparé le code source des traitements de chaines ( ex: fpc_AnsiStr_Concat) et on voit que du code pour traiter les codepage a été rajouté. Mais ce qu'il y a de plus intéressant c'est qu'en utilisant des shortstrings à la place de strings dans son code on améliore de façon non négligeable la vitesse d'exécution de son code.
    Amicalement, nullosse

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Nullosse Voir le message
    bonsoir,
    c'est moi qui est posé la question dans le forum Lazarus de free pascal sous le pseudo de J.P. Il y a du nouveau car j'ai comparé le code source des traitements de chaines ( ex: fpc_AnsiStr_Concat) et on voit que du code pour traiter les codepage a été rajouté. Mais ce qu'il y a de plus intéressant c'est qu'en utilisant des shortstrings à la place de strings dans son code on améliore de façon non négligeable la vitesse d'exécution de son code.
    Amicalement, nullosse
    Très intéressant l'astuce des shortstrings, merci pour les éclaircissements par ailleurs.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 248
    Points : 538
    Points
    538
    Par défaut
    Bonjor,

    Citation Envoyé par glandu.dulac Voir le message
    Très intéressant l'astuce des shortstrings.
    Pas toujours.
    Comme la méthode utilisée pour permuter les caractères dans votre procédure EchangeCar n'est pas compatible avec l'UTF8 (remplacez un caractère de MONTAGNARD par un é pour voir), tout comme la procédure RecursePerm de Nullosse Jurassic Pork, j'ai cherché comme faire cette permutation en UTF8.
    Première tentative en utilisant UTF8Length et une série de UTF8Copy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if i<j then
    ch:=UTF8Copy(ch,1,i-1)+UTF8Copy(ch,j,1)+UTF8Copy(ch,i+1,j-i-1)+UTF8Copy(ch,i,1)+UTF8Copy(ch,j+1,l-j);
    Le temps d'exécution de votre méthode (1,43 s avec FPC2.7.1) est passé à 11,7s. C'est déjà un désastre, qui s'est trouvé aggravé puisque le remplacement des string par des shortstring a augmenté ce temps à 14,2s. Il semble que les fonctions UTF8 travaillent sur des strings et non sur des shortstring.
    Autre test en transformant au préalable la chaîne UTF8 en ANSI: 1,8s en string et 1,67 en shortstring: à moitié satisfaisant s'il est possible d'entrer une chaîne dont des caractères UTF8 ne sont pas convertibles en ANSI.
    Troisième test en effectuant les permutations non plus sur les caractères d'une chaîne mais sur un array of string dont chaque string contient un caractère UTF8: 6,4s en string et 3,1s en shortstring
    Dernier essai en transformant la chaîne en UnicodeString: 2,3s (1,4s avec FPC2.6.3).
    Connaissez vous une méthode permettant d'être moins pénalisée par le passage à l'UTF8 de Lazarus?

    André

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/12/2013, 14h53
  2. [CodeTyphon] Sortie de la version 4.20 de CodeTyphon Studio
    Par tourlourou dans le forum Autres IDE
    Réponses: 0
    Dernier message: 18/04/2013, 10h00
  3. [CodeTyphon] Sortie de la version 4.10 de CodeTyphon Studio
    Par tourlourou dans le forum Autres IDE
    Réponses: 0
    Dernier message: 04/03/2013, 10h27
  4. [CodeTyphon] Sortie de la version 4.00 de CodeTyphon Studio
    Par tourlourou dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/03/2013, 12h29
  5. [CodeTyphon] Sortie de la version 3.10 de CodeTyphon Studio
    Par Alcatîz dans le forum Autres IDE
    Réponses: 0
    Dernier message: 11/12/2012, 17h48

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