semedboy Posted May 19, 2010 Share Posted May 19, 2010 (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 May 19, 2010 by semedboy 0x5748415420444F20594F552057414E543F Link to comment Share on other sites More sharing options...
czardas Posted May 20, 2010 Share Posted May 20, 2010 (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 May 20, 2010 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
monoceres Posted May 20, 2010 Share Posted May 20, 2010 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 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! Link to comment Share on other sites More sharing options...
semedboy Posted May 20, 2010 Author Share Posted May 20, 2010 (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 May 20, 2010 by semedboy 0x5748415420444F20594F552057414E543F Link to comment Share on other sites More sharing options...
Shafayat Posted May 20, 2010 Share Posted May 20, 2010 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] Link to comment Share on other sites More sharing options...
semedboy Posted May 20, 2010 Author Share Posted May 20, 2010 i know 300Kb isn't that BIG but still they could make it smallerbtw. 300Kb isn't the original complied size, it is compressed with UPX. the orignial size is 550Kb 0x5748415420444F20594F552057414E543F Link to comment Share on other sites More sharing options...
Valik Posted May 20, 2010 Share Posted May 20, 2010 (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 May 20, 2010 by Valik Link to comment Share on other sites More sharing options...
GEOSoft Posted May 20, 2010 Share Posted May 20, 2010 i know 300Kb isn't that BIG but still they could make it smallerbtw. 300Kb isn't the original complied size, it is compressed with UPX. the orignial size is 550KbAutoIt 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!" Link to comment Share on other sites More sharing options...
semedboy Posted May 20, 2010 Author Share Posted May 20, 2010 (edited) don't get me wrong i like Autoit Edited May 20, 2010 by semedboy 0x5748415420444F20594F552057414E543F Link to comment Share on other sites More sharing options...
kjactive Posted May 20, 2010 Share Posted May 20, 2010 To SemedboyYes 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#445742Download from sitehttp://www.fritidshjemmet.com/Au3PP/Au3PP.zipThat's all folkskjactive Au3PP 4.1 - Autoit3 preprocessor, optimize speed, performance to scripts and do executes....[/url]Au3Calibur - Create libraries of commonly used code excerptsWords manipulate UDF, functions that is lent from the rexx language, topics and index file includedCustomDialog UDF to include custom made dialogs like a extended colorpick requester to scripts...[url="ftp://fritidshjemmet.com/Autoit3/SysColor.zip"]SysColor UDF a low level color library to manipulate RGB and Hex values...Shell32 UDF to Automate Windows® operating tasks from native dialog and Wizards browsers... Optimized the CodeWicard with options to generate browser code etc... Link to comment Share on other sites More sharing options...
eukalyptus Posted May 20, 2010 Share Posted May 20, 2010 ...I too thought that this was to much and I made a Preprocessor ( Au3PP )...So do I Another AutoIt PreProcessorE DirectSound UDF Direct2D UDF AutoIt ScreenSaver Collection BASS UDF v10 download Link to comment Share on other sites More sharing options...
kjactive Posted May 20, 2010 Share Posted May 20, 2010 Hej eukalyptusWell 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 Au3PP 4.1 - Autoit3 preprocessor, optimize speed, performance to scripts and do executes....[/url]Au3Calibur - Create libraries of commonly used code excerptsWords manipulate UDF, functions that is lent from the rexx language, topics and index file includedCustomDialog UDF to include custom made dialogs like a extended colorpick requester to scripts...[url="ftp://fritidshjemmet.com/Autoit3/SysColor.zip"]SysColor UDF a low level color library to manipulate RGB and Hex values...Shell32 UDF to Automate Windows® operating tasks from native dialog and Wizards browsers... Optimized the CodeWicard with options to generate browser code etc... Link to comment Share on other sites More sharing options...
GEOSoft Posted May 20, 2010 Share Posted May 20, 2010 To SemedboyYes 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#445742Download from sitehttp://www.fritidshjemmet.com/Au3PP/Au3PP.zipThat's all folkskjactive 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!" Link to comment Share on other sites More sharing options...
wraithdu Posted May 20, 2010 Share Posted May 20, 2010 @GEOSoft You know Obfuscator has done this all along with the /so and now /om (/sf /sv /om /cs=0 /cn=0) switches... Link to comment Share on other sites More sharing options...
GEOSoft Posted May 20, 2010 Share Posted May 20, 2010 @GEOSoftYou 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!" Link to comment Share on other sites More sharing options...
Developers Jos Posted May 20, 2010 Developers Share Posted May 20, 2010 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. SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
GEOSoft Posted May 20, 2010 Share Posted May 20, 2010 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. 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!" Link to comment Share on other sites More sharing options...
Developers Jos Posted May 20, 2010 Developers Share Posted May 20, 2010 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 SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
GEOSoft Posted May 20, 2010 Share Posted May 20, 2010 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!" Link to comment Share on other sites More sharing options...
Developers Jos Posted May 20, 2010 Developers Share Posted May 20, 2010 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 SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now