Página 1 de 1
Tamaño ejecutables
Publicado: 29 Mar 2010, 13:22
por Ximorro
Casi lo pongo en chat porque es una cosa un poco tonta...
Porfa, ¿alguien que tenga versiones de AutoIt posteriores a la 3.3.0.0 podría compilar lo de abajo y ver cuánto ocupa el exe?
Vaya, la última versión es la 3.3.6.0, han salido un par más anteriormente.
Sí, es un programa vacío, es por ver lo que ocupa el intérprete.
Código: Seleccionar todo
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;
También se puede cambiar
#AutoIt3Wrapper_UseUpx=n
por
#AutoIt3Wrapper_UseUpx=y
para ver si se comprime más o menos.
Con la 3.3.0.0 da:
Exe sin comprimir: 613.146 bytes
Exe con upx (por defecto=normal): 290.586 bytes
Graciaaaas
Re: Tamaño ejecutables
Publicado: 29 Mar 2010, 15:03
por BasicOs
Ximorro escribió:Casi lo pongo en chat porque es una cosa un poco tonta...
Porfa, ¿alguien que tenga versiones de AutoIt posteriores a la 3.3.0.0 podría compilar lo de abajo y ver cuánto ocupa el exe?
Vaya, la última versión es la 3.3.6.0, han salido un par más anteriormente.
Sí, es un programa vacío, es por ver lo que ocupa el intérprete.
Código: Seleccionar todo
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;
También se puede cambiar
#AutoIt3Wrapper_UseUpx=n
por
#AutoIt3Wrapper_UseUpx=y
para ver si se comprime más o menos.
Con la 3.3.0.0 da:
Exe sin comprimir: 613.146 bytes
Exe con upx (por defecto=normal): 290.586 bytes
Graciaaaas
Con la v3.3.6.0 x86 ese codigo da:
293 KB (300.860 bytes)
o sea 0,3 Megas ... o sea q casi cualquier otro programa no te pasa de 0,5Mb o sea un programa completo no hay fabricado pen-drive o dispositivo que tenga tantisima capacidad para poder guardarlo de lo mostruoso de gigante que es el fichero, o sea no llega al 0,001 Giga.
Por otro lado que poco pesan las
ideas si en un gigabite caben mil programas que son 10mil ideas :(
Aún así si quieres optimizar el código y mantener al mínimo el exe hay algunos programas que te limpian el código:
Au3Preprocessor de kjactive:
http://www.autoitscript.com/forum/index ... opic=38669
Cleanscript de Markus y peethebee:
http://www.autoitscript.com/forum/index ... opic=30573
Salu2:)
Re: Tamaño ejecutables
Publicado: 30 Mar 2010, 09:16
por Ximorro
Gracias, unas 10kb más de comprimido, no llega al 4% de aumento (es comprimido con opción "Normal", ¿verdad?). Sin comprimir serán unas 30kb. Por favor ¿podrías mirar también sin comprimir? Con el UseUpx=n...
La verdad es que da gusto poder tener un pequeño exe que distribuyes sin molestias de que el usuario tenga que instalar megalibrerías (.NET) o runtimes (java). Esa creo que es la principal razón por la que entré en el mundo de AutoIt.
En este caso no se puede optimizar, pues no hay código, todo el espacio es del intérprete. Yo uso obfuscator, más que para ofuscar para que te quite variables y funciones no usadas ¡muy útil cuando usas UDFs porque sólo te compila las que usas!. A mí la ofuscación no me va bien porque el antivirus se queja y no puedo compilar, pero con el parámetro /striponly te hace una limpieza MUY interesante.
¡Pero gracias por los enlaces, les voy a echar un vistazo!
Re: Tamaño ejecutables
Publicado: 31 Mar 2010, 02:36
por BasicOs
Me imagino que sin comprimir con upx será sobre 700kb.
Sinceramente creo que si quieres bajar drásticamente el tamaño debes usar un compilador bajo WindowsXp porque ultimamente se ha engordado(si se le puede llamar así +-100kb), sobre todo con el unicode y las UAC, dió un salto de tamaño. Cada función nueva o extra, dll, las expresiones Regulares es añadir tamaño.
Si usas una versión anterior, lo peor que puede pasar es que tengas que usar un lenguaje un "poco" más limitado pero aún así puedas hacer lo que quieres. ES decir, no por tener la última versión vas a dejar de hacer programas increibles (salvo excepciones).
Si deseas bajar el exe hasta 260kb puedes usar esta versión de final del 2006. Muy buena y con muchisimos comandos:
La puedes bajar de aquí, seguro que ajustando más puedes bajar los 260kb.
http://www.emesn.com/autoitforum/viewto ... t=93&p=279
Algunos posts sobre tamaños del foro inglés:
http://www.autoitscript.com/forum/index ... ntry683500
http://www.autoitscript.com/forum/index ... ntry753352
http://www.autoitscript.com/forum/index ... ntry775001
Si sacas algo en claro ya lo comentas pero creo que debes ir hacia una versión anterior.
No estoy usando las opciones del UPX, sino como va.
Salu22:)
Re: Tamaño ejecutables
Publicado: 31 Mar 2010, 08:34
por Ximorro
Gracias, bueno, ya es cosa de curiosidad, ciertamente 50kb arriba o abajo no son tan importantes. Quizás soy un poco maniático pero creo que a la hora de hacer el exe podían incluir sólo las partes del intérprete que sean necesarias, pero bueno, igual eso es complicado de hacer si hay dependencias complejas.
Por los posts que me pones he visto que hay una manera rápida de ver lo que ocupa el intérprete sin necesidad de compilar nada, en
C:\Archivos de programa\AutoIt3\Aut2Exe
hay dos archivos bin, para 32 y para 64 bits, eso es lo que se añade directamente a tu programa "compilado". ¿Cuánto os ocupan?
En la versión 3.3.0.0 son:
AutoItSC.bin: 599kb
AutoItSC_x64.bin: 742kb
Sobre cambiar de versión tampoco lo hago exactamente por el tamaño, quizás me toque actualizar fuentes que de repente se volverán incompatibles y me da pereza. O me instalo varias versiones o me espero. Como dices depende de la funcionalidad que necesites, cuando vea que necesito algo que tengo en las nuevas versiones, o que tengo que estar modificando muchos scripts de los que posteais, pues me pasaré.
Re: Tamaño ejecutables
Publicado: 31 Mar 2010, 13:52
por BasicOs
Exacto es una cantidad casi fija que es el .bin y luego se añade algo más por algunas funciones, no se si lo han cambiado ultimamente, Lo que te ocupa es lo que calculaste cuando haces un script mínimo, aunq hagas un script de 100000 lineas de código creo que sube poco también. Hablamos de un interprete realmente.
Salu2:)