Sign in to follow this  
Followers 0
semedboy

WHY IS AUTOIT'S SIZE IS BIG??

45 posts in this topic

#1 ·  Posted (edited)

Why is the size of complied autoit script is large??

i know for a fact that autoit calls all functions that are not included like Msbox, sleep and more... it doesn't matter if you use the function or not, it is still called.

Edited by semedboy

0x5748415420444F20594F552057414E543F

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

i know for a fact that autoit calls all functions that are not included like Msbox, sleep and more... it doesn't matter if you use the function or not, it is still called.

If you swap around the words "called" and "included", then this sentence would seem to make more sense: at least to me. But then again I may have completely misunderstood. Edited by czardas

Share this post


Link to post
Share on other sites

If you swap around the words "called" and "included", then this sentence would seem to make more sense: at least to me. But then again I may have completely misunderstood.

Hehe :idea:

To answer the OP, there are three main reasons that I can think of:

AutoIt is a relatively big application. Many lines of code equals many instructions which means larger size.

AutoIt comes bundled with extra libraries which are not part of windows that needs to be linked with the interpreter (reg exp for example).

To be able to run on all systems regardless of runtime modules installed on the system the binary needs to be statically linked with the MSVC runtime library.


Broken link? PM me and I'll send you the file!

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

sorry for the misunderstanding i caused...

i was using PE explorer, which has import function viewer that shows all the function an exe calls. so i tried the script

MsgBox(0,"hi","test")

and complied it, then i used PE explorer's import function viewer and it shows that the complied script calls functions that i didn't use and i think that is why the size is so big

Edited by semedboy

0x5748415420444F20594F552057414E543F

Share this post


Link to post
Share on other sites

300kb is not big at all. It is fairly small now-a-days.

Consider that most internet connection now have download speed more than 300kb per second. So, the downloader can't care any less whether the size is 20kb or 300kb.

And you aren't worried about storage, are you? I mean look. I guarantee that you have got a few HD movies or music videos on your home pc which you probably don't even watch. While there is a chance, big enough that you'll occasionally (if not frequently) use an autoit software that you create or download.

So, what's the point is minimizing the size. If you are that careful about size then go use RealBASIC. The output size is nearly 4 megabytes. And they still have little complaints like this.

Btw, my company bought me realbasic enterprise edition. It is good value. But still I like autoit. Not because the size of executables. But the simplicity and functionality.


[Not using this account any more. Using "iShafayet" instead]

Share this post


Link to post
Share on other sites

i know 300Kb isn't that BIG but still they could make it smaller

btw. 300Kb isn't the original complied size, it is compressed with UPX. the orignial size is 550Kb


0x5748415420444F20594F552057414E543F

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

You're right, it could be made smaller. Features could be removed, that'd reduce the size pretty quick.

Here's a thought, how about you not chime in on subjects you know nothing about? It's pretty clear you don't actually understand why the size of the binary is what it is so let's just cut your losses right here and move on without this silly little thread that's venturing perilously close to something you shouldn't ask.

Edited by Valik

Share this post


Link to post
Share on other sites

i know 300Kb isn't that BIG but still they could make it smaller

btw. 300Kb isn't the original complied size, it is compressed with UPX. the orignial size is 550Kb

AutoIt is an interpreted language.

When you compile a script, the complete interpreter becomes part of the compiled script. You can't just compile that portion of it that was used in your script.


George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

don't get me wrong i like Autoit :idea:

Edited by semedboy

0x5748415420444F20594F552057414E543F

Share this post


Link to post
Share on other sites

To Semedboy

Yes one can't exclude any native autoit3 buildin commands but in my opinion this is just as effective as it can be but the large quantume of UDF's do tend to add a lot of extra KB to the compiled / wrapped script, well some more than other and some alot actually and bear in mind that all has to be read, create lists and allocations done before any action pops up...

I too thought that this was to much and I made a Preprocessor ( Au3PP ) that scans all included scripts/UDFs to buidlin all used functions/Variables into a finally temporary script ready to be run or compiled - this script do not need any UDF ressources as all used is included and finally the preprocessor provides some real speedup actions too, as exchange all used globals with real value, remove all unnessesary characters and finally buildin ico resources into a finally execute as effetion as it can be with a third level language...

Normally it reduce compile size with 25% but some applications do lose weight to about 50% relaed to what UDF's used...

I did it for my own purpose, it's free to use, no need for special install processes, comes with source and a topics...

Please do bugs reports or development comments as I do updates from time to time...

Read more

#445742

Download from site

http://www.fritidshjemmet.com/Au3PP/Au3PP.zip

That's all folks

kjactive Posted Image

Share this post


Link to post
Share on other sites

Hej eukalyptus

Well I'm not that god at german language, what's the problem - could you give me a short version on the trouble with Au3PP and I would like to look at the other preprocessor mention as my goal is to use the best...

kjactive Posted Image

Share this post


Link to post
Share on other sites

To Semedboy

Yes one can't exclude any native autoit3 buildin commands but in my opinion this is just as effective as it can be but the large quantume of UDF's do tend to add a lot of extra KB to the compiled / wrapped script, well some more than other and some alot actually and bear in mind that all has to be read, create lists and allocations done before any action pops up...

I too thought that this was to much and I made a Preprocessor ( Au3PP ) that scans all included scripts/UDFs to buidlin all used functions/Variables into a finally temporary script ready to be run or compiled - this script do not need any UDF ressources as all used is included and finally the preprocessor provides some real speedup actions too, as exchange all used globals with real value, remove all unnessesary characters and finally buildin ico resources into a finally execute as effetion as it can be with a third level language...

Normally it reduce compile size with 25% but some applications do lose weight to about 50% relaed to what UDF's used...

I did it for my own purpose, it's free to use, no need for special install processes, comes with source and a topics...

Please do bugs reports or development comments as I do updates from time to time...

Read more

#445742

Download from site

http://www.fritidshjemmet.com/Au3PP/Au3PP.zip

That's all folks

kjactive Posted Image

You might just be a lifesaver. I'll let you know.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

@GEOSoft

You know Obfuscator has done this all along with the /so and now /om (/sf /sv /om /cs=0 /cn=0) switches...

Share this post


Link to post
Share on other sites

@GEOSoft

You know Obfuscator has done this all along with the /so and now /om (/sf /sv /om /cs=0 /cn=0) switches...

I'm not going to go into the long details of why I can't use obfuscator directives to do it so suffice it to say I can't do it that way. Actually the proper switch for me would be /sio

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

Believe George is on a quest to copy all used UDFs into a separate file, but am not sure why as I can't see how that is maintainable. :idea:


Visit the SciTE4AutoIt3 Download page for the latest versions  - Beta files                                How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Believe George is on a quest to copy all used UDFs into a separate file, but am not sure why as I can't see how that is maintainable. :idea:

Well I could settle for them being added to the end of the scrip. That's not a major problem. My problem comes when I have to use my own app for the compiling and I seem to recall that you and I may have been over this once or twice in the past. I remember suggesting something about a flat file for the directives that might have solved all that. As it is now, my compiler knows little things like exactly where to find the icon to be used &etc, &etc. That's why I need independent, stand alone tools that are not going to argue with my compile functions. Aslo accounts for why I have to be concerned with resources and there is a topic that you should be hearing more about fairly soon.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

Well I could settle for them being added to the end of the scrip. That's not a major problem. My problem comes when I have to use my own app for the compiling and I seem to recall that you and I may have been over this once or twice in the past. I remember suggesting something about a flat file for the directives that might have solved all that. As it is now, my compiler knows little things like exactly where to find the icon to be used &etc, &etc. That's why I need independent, stand alone tools that are not going to argue with my compile functions. Aslo accounts for why I have to be concerned with resources and there is a topic that you should be hearing more about fairly soon.

But isn't that exactly what /SOI does? It will add all needed Func's to the output script.

Just run this output script one time through Tidy using the /sf parameter and all UDFs will be moved to the end.

Jos :idea:


Visit the SciTE4AutoIt3 Download page for the latest versions  - Beta files                                How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

I'll try that again. I tried it through Obfuscator the last time and it threw me arrors about line length.


George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

I'll try that again. I tried it through Obfuscator the last time and it threw me arrors about line length.

Let me know when you find specific issues with that because I believe I fixed some a while ago when only doing /SO and /SOI.

There is a limitation when doing obfuscation as that lengthens the records.

Jos :idea:


Visit the SciTE4AutoIt3 Download page for the latest versions  - Beta files                                How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0