Salut,
Si je compile une simple librairie j'obtiens un fichier de 392 Ko avec D7 et 434 Ko avec D2007.
D'où vient cette différence ? C'est juste pour ma culture...
Thanx
Salut,
Si je compile une simple librairie j'obtiens un fichier de 392 Ko avec D7 et 434 Ko avec D2007.
D'où vient cette différence ? C'est juste pour ma culture...
Thanx
Le moindre petit bout de code en Delphi fait appel à des librairies et au runtime du langage.
Ce dernier évolue et s'enrichit de versions en versions. Et ben que l'optimisateur est censé supprimer le code qui n'est jamais appeler au moment de l'édition des liens, la taille du code générer augment malgré tout...
J'ai fait le même teste il n'y a pas très longtemps entre D2006 et D2010, et c'est encore le même constat !
Même en admettant que le linker soit "parfait" et enlève bien réellement tout ce qui est inutile, il faut voir que les composants évoluent et supportent d'autres OS, désormais.
Chiffres au hasard : tu utilises une fonction qui, auparavant, "pesait" 1300 octets de code, mais qui ne savait pas gérer les spécificités de Windows au delà de XP.
Avec le nouveau Delphi, tu gères les spécificités Vista (peu importe lesquelles), il y a donc quelques tests "if" en plus. La fonction "pèse" désormais 1500 octets, et comme tu en as besoin, elle est linkée.
Mais la partie Vista va appeler une nouvelle fonction, dont tu n'as JAMAIS besoin sous XP, mais cruciale pour (par exemple) les UAC. Cette fonction va impérativement devoir être rajoutée à l'exécutable, et disons qu'elle pèse 2500 octets... OK, sous XP, c'est du code mort, mais il ne l'est pas sous Vista : on ne peut donc pas l'enlever !
Tu as donc "pris" gratuitement 2700 octets "pour rien", du moins c'est l'impression première. Mais en échange, tu as gagné le fait d'avoir un programme qui sera correctement intégré et utilisable sur les nouveaux Windows.
Fais ça pour toutes les nouveautés / améliorations de support entre les deux versions de Delphi de ton test, et tu as l'explication de cette "prise de poids" de ton application.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Merci messieurs !
Bon week end.
il faut savoir aussi qu'un certain nombre d'unités sont lourdes "pour pas grand chose"...je ne sais pas où en est la dernière version de Registry.pas, mais à une époque RegEdit.pas était 20Ko moins lourde ... avec certes moins de fonctionnalité, mais les fonctionnalité dont j'avais besoin.
Ca c'est l'éternel problème avec les produits commerciaux ou tout au moins les produits destinés "au plus grand nombre".
Il faut que ça fasse ce que tu veux. Mais également tout ce que tu ne veux pas et dont tu n'as pas besoin, car quelqu'un d'autre en a peut-être besoin !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager