UPXHELPER V1.1.1

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 7 mars 2010 à 17:58
cs_Christophe67 Messages postés 80 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 juin 2012 - 9 mars 2010 à 01:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51405-upxhelper-v1-1-1

cs_Christophe67 Messages postés 80 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 juin 2012
9 mars 2010 à 01:17
Photoshop CS4 portable c'est déjà 1,8Go, sans compter les autres que j'utilise très fréquemment autant qu'en graphisme qu'en développement de sites. c'est simple ma clé 16Go est quasi complète.As tu déjà créé un journal au format Publisher en très haute qualité ? Certains fichiers font plus de 100Mo en qualité pour l'imprimerie. Cà va donc très vite quand tu sors un hebdo de 16 pages! Je n'ai aucun problème de mémoire et aucun swapp disque mais par contre si je peux gratter 20Mo par ci ou par là et bien là je suis content car çà m'est plus utile. Chacun voit midi à sa porte selon ses besoins.
DelphiProg a dit : "Il y avait longtemps qu'on n'avait pas parlé d'UPX" donc j'imagine que ce débat a déjà eut lieu donc je vais stopper là.

Salutations.
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
9 mars 2010 à 00:20
Désolé d'avance pour le commentaire qui n'est peut-être pas constructif (je n'ai pas regardé la source, juste les commentaires).
"Il est loin le temps de mon amiga et de ses 512Ko, mon PC HP vieux de 2 ans à 4Go ainsi que mon portable(...)"
A ceci je dirais qu'il est loin le temps des clés USB de 12Mo; c'est difficile aujourd'hui de trouver des clés < 1Go. Donc je trouve le commentaire de Julio pertinent car, si on utilise cette technique pour compresser une exe de taille consequente, on perd toute l'utilité du chargement partiel de l'exécutable qui prend tout son sens sur des applications de cette taille.
aroslide Messages postés 23 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 27 juin 2011
8 mars 2010 à 20:34
En tout cas c'est encore une fois très bien commenté, les expliquations sont claires donc que dire .... allez christophe67 un ptit code par jours !!! et l'amiga c'était quand même une sacré bécane !!!
cs_Christophe67 Messages postés 80 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 juin 2012
8 mars 2010 à 11:48
Bonjour JulioDelphi,

C'est un point de vue qui se défend auquel j'opposerai ceci.
Il est loin le temps de mon amiga et de ses 512Ko, mon PC HP vieux de 2 ans à 4Go ainsi que mon portable. Tout çà pour dire que c'est bien souvent la configuration standard proposée alors gagner ou perdre 1mo pour lancer un exécutable est à mon avis moins gênant que de gagner plusieurs Mo sur une clé USB sur laquelle se trouve les versions portables de la plupart des logiciels que j'utilise.
Donc "pour moi" ce programme à son utilité.
Quand j'ai démarré la programmation en assembleur sur Amiga on hyper optimisait le moindre octet gagné ainsi que le moindre cycle processeur, quand on voit qu'un simple "Hello world" sur une fiche de Delphi prend 700Ko on est loin de l'esprit de tout optimiser.

Salutations.
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
8 mars 2010 à 11:06
Bonjour voici un mot sur les compresseurs d'executables (UPX ici).
(source : Delphi 7 Studio)
"
Puisque nous parlons de réduction de taille de code, il semble à propos de glisser un mot sur ces logiciels qui se proposent de compresser les exécutables, voire les DLL, pour gagner de la place. Ne succombez pas à l'appel de ces sirènes et de leur chant trompeur : si ces programmes vous donneront l'impression que l'exécutable est effectivement plus petit sur le disque, a contrario il prendra énormément plus de place en mémoire une fois chargé ! A cela une bonne raison : Windows sais gérer les différents blocs d'un exécutable et ne charge en mémoire que ce qui est utile. Par exemple, une application contenant 200 fiches et qui prendrait 15 mo sur le disque et dont seulement 1 ou 2 fiches sont crééés à la fois ne prendra que très peu de place en mémoire... En compressant l'exécutable, les logiciels évoqués (UPX) ici transforment la quasi-totalité du fichier EXE en un seul bloc de données précédé d'un chargeur (la partie qui décompresse et passe le contrôle au code décompressé en mémoire). De fait, Windows ne voit qu'un seule bloc logique et charge tout en mémoire. Une application sera donc chargée en totalité en mémoire, ralentira Windows, forcera le swapping et autres nuisances du même genre. La technique de compression d'exécutable ne peut, à la rigueur, être exploitée que sur des applications très petites (1 ou 2 fiches), de type utilitaire par exemple. Mais dans ce cas le gain de place en Mo est négligeable. Au final, rien ne justifie donc d'utiliser de trels programmes de compression ...
"
cs_Christophe67 Messages postés 80 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 juin 2012
8 mars 2010 à 10:18
Voilà c'est fait,

v1.1.0 , mise en place d'un fichier de configuration pour le programme.
Je suis un peu déçu de la facilité de traiter un fichier .ini, je voyais çà plus complexe.

Salutations
cs_Christophe67 Messages postés 80 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 juin 2012
7 mars 2010 à 18:06
Bonjour DelphiProg,

La raison est que je ne me suis pas encore lancé dans l'étude des fichiers de configuration ( texte ou ini ) et que ca pourrait bien venir dans une version ultérieure.
Je mets donc en début les valeurs par défaut censées avoir le meilleur ratio de entre vitesse/compression.

Salutations.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
7 mars 2010 à 17:58
Pas mal, pas mal...
Il y avait longtemps qu'on n'avait pas parlé d'UPX.

Une suggestion : pourquoi ne pas mémoriser dans un fichier de configuration les différents choix de l'utilisateur au lieu de les forcer dans l'évènement onFormCreate (sauf si le fichier de configuration est introuvable, bien sûr) ?

En tous cas, bravo pour cette nouvelle source d'une grande clarté et bien documentée.
Rejoignez-nous