Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

autoit.exe -> autoit.exe + autoit.dll


  • Please log in to reply
23 replies to this topic

#1 Ontosy

Ontosy

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 340 posts

Posted 28 April 2007 - 03:23 PM

Every time that nozzle a script keeps in memory various copy of autoit.exe.
It is possible to split autoit.exe in a autoit.exe small with the function launch the scripts. au3 and a autoit.dll that it comes recalled from all the autoit.exe launch?
Therefore the memory would be occupied from a great solo autoit.dll and many small autoit.exe instead of being occupied from many autoit.exe.
Excused my English.







#2 Zedna

Zedna

    AutoIt rulez!

  • MVPs
  • 8,686 posts

Posted 28 April 2007 - 04:40 PM

Look at a3x - isn't it solution?

Note: scripts can be compile with .a3x extension. They should be run with AutoIt.exe filename.a3x. The .a3x contains the script itself with all referred #include plus the FileInstall files. This format allow to distribute smaller files as they don't include the AutoIt3.exe in each compile script. You still need to have it accessible on the target machine but just AutoIt3.exe.



#3 Ontosy

Ontosy

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 340 posts

Posted 28 April 2007 - 06:09 PM

Look at a3x - isn't it solution?

not why in the RAM memory if run 3 a3x it launch 3 big autoit3.exe.
i would to lanch 3 mini autoit.exe and 1 big autoit.exe.

#4 Richard Robertson

Richard Robertson

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 10,277 posts

Posted 28 April 2007 - 06:53 PM

I understand what is being asked. Dlls are loaded into memory and are used by every program that needs them. Each executable file gets it's own memory space while a dll is loaded only once. Think of it this way.

3 * full executable(1 MB) = 3 MB
3 * mini executable(.1 MB) + 1 * dll(.9 MB) = 1.2 MB

Does the question make more sense now?

#5 Ontosy

Ontosy

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 340 posts

Posted 28 April 2007 - 07:48 PM

Does the question make more sense now?

Yes, i say it :)

#6 JSThePatriot

JSThePatriot

    carpe diem. vita brevis.

  • MVPs
  • 3,690 posts

Posted 29 April 2007 - 04:16 PM

I can see that is exactly what he wants. What I would recommend is that you make a script that starts the "Big" Executable, and have a few .a3x scripts waiting to be executed, and use the /execute script option. One "Big" Executable can execute more than one script if I am remembering correctly.

The syntax is as follows...
Run(@ScriptFullPath & ' /AutoIt3ExecuteScript ' & $PathOfNextScript)

I haven't actually tried this myself which means it may create a second instance of the AutoIt executable, but as stated before .a3x extension is so you can have multiple scripts, but with one big executable.

JS
AutoIt LinksFile-String Hash Plugin Updated! 04-02-08ComputerGetInfo UDF's Updated! 11-23-06External LinksVortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

#7 Gene

Gene

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 494 posts

Posted 29 April 2007 - 05:05 PM

I can see that is exactly what he wants. What I would recommend is that you make a script that starts the "Big" Executable, and have a few .a3x scripts waiting to be executed, and use the /execute script option. One "Big" Executable can execute more than one script if I am remembering correctly.

The syntax is as follows...

Run(@ScriptFullPath & ' /AutoIt3ExecuteScript ' & $PathOfNextScript)

I haven't actually tried this myself which means it may create a second instance of the AutoIt executable, but as stated before .a3x extension is so you can have multiple scripts, but with one big executable.

JS

H'mmn, if those .a3x scripts can communicate with each other via the registry or some other method, wouldn't that give some degree of parallism?

The initial script could be minimal, just code to launch the .a3x scripts and then run a While 1/WEnd loop. The other scripts could access each other for simultaneous tasks like say running an I'm busy now clock while a large _arraysort() is running in the background, or do other proccessing giving a discrete(sp?) result.

Gene

Edited by Gene, 29 April 2007 - 05:10 PM.

Thanks for the response.GeneYes, I know the punctuation is not right...

#8 JSThePatriot

JSThePatriot

    carpe diem. vita brevis.

  • MVPs
  • 3,690 posts

Posted 29 April 2007 - 05:20 PM

H'mmn, if those .a3x scripts can communicate with each other via the registry or some other method, wouldn't that give some degree of parallism?

The initial script could be minimal, just code to launch the .a3x scripts and then run a While 1/WEnd loop. The other scripts could access each other for simultaneous tasks like say running an I'm busy now clock while a large _arraysort() is running in the background, or do other proccessing giving a discrete(sp?) result.

Gene

When you are executing a new script you can use command line parameters to communicate between them. Or create a communication file or use the registry as well.

I hope this helps you on your journey,
JS
AutoIt LinksFile-String Hash Plugin Updated! 04-02-08ComputerGetInfo UDF's Updated! 11-23-06External LinksVortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

#9 Gene

Gene

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 494 posts

Posted 29 April 2007 - 05:29 PM

When you are executing a new script you can use command line parameters to communicate between them. Or create a communication file or use the registry as well.

I hope this helps you on your journey,
JS


Thanks for the quick response. I was asking a slightly different question. I carefully used the word parallelism instead of multi-threaded proccessing, hoping to avoid a flame. If you can have multiple "modules" working different aspects of one overall task, isn't that a form of multithreading?

Gene
Thanks for the response.GeneYes, I know the punctuation is not right...

#10 JSThePatriot

JSThePatriot

    carpe diem. vita brevis.

  • MVPs
  • 3,690 posts

Posted 29 April 2007 - 05:33 PM

Thanks for the quick response. I was asking a slightly different question. I carefully used the word parallelism instead of multi-threaded proccessing, hoping to avoid a flame. If you can have multiple "modules" working different aspects of one overall task, isn't that a form of multithreading?

Gene

In a manner. Multi-threading is using one executable with different forks in it to work all together. Using different Modules to work on different problems in procedural way, and making your own synchronization functions is in a way multi-threading, but different.

I hope that answers your question.
JS
AutoIt LinksFile-String Hash Plugin Updated! 04-02-08ComputerGetInfo UDF's Updated! 11-23-06External LinksVortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

#11 Richard Robertson

Richard Robertson

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 10,277 posts

Posted 29 April 2007 - 06:08 PM

You all are missing Ontosy's question and apparently my explanation as well. Ontosy isn't asking for communication between scripts in any form whatsoever. Ontosy is asking that the bulk of AutoIt be in dll form so that it is only loaded into memory once instead of for every script that needs to be executed.

#12 JSThePatriot

JSThePatriot

    carpe diem. vita brevis.

  • MVPs
  • 3,690 posts

Posted 29 April 2007 - 06:10 PM

You all are missing Ontosy's question and apparently my explanation as well. Ontosy isn't asking for communication between scripts in any form whatsoever. Ontosy is asking that the bulk of AutoIt be in dll form so that it is only loaded into memory once instead of for every script that needs to be executed.

Okay, I understand that, but unfortunately AutoIt isn't going to have a DLL.

JS
AutoIt LinksFile-String Hash Plugin Updated! 04-02-08ComputerGetInfo UDF's Updated! 11-23-06External LinksVortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

#13 quaizywabbit

quaizywabbit

    picked the wrong day to quit sniffin' glue

  • Active Members
  • PipPipPipPipPipPip
  • 494 posts

Posted 29 April 2007 - 06:16 PM

this makes sense to me...

however the current exe is still quite small by todays standards so expect a lot of resistance.........
Do more with pre-existing apps!ANYGUIv2.8

#14 Ontosy

Ontosy

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 340 posts

Posted 29 April 2007 - 06:30 PM

You all are missing Ontosy's question and apparently my explanation as well. Ontosy isn't asking for communication between scripts in any form whatsoever. Ontosy is asking that the bulk of AutoIt be in dll form so that it is only loaded into memory once instead of for every script that needs to be executed.



You are OK :)

I understand that, but unfortunately AutoIt isn't going to have a DLL.


i have writed this post in "Feature Requests" to suggest :D

Edited by Ontosy, 29 April 2007 - 06:39 PM.


#15 Gene

Gene

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 494 posts

Posted 29 April 2007 - 10:30 PM

In a manner. Multi-threading is using one executable with different forks in it to work all together. Using different Modules to work on different problems in procedural way, and making your own synchronization functions is in a way multi-threading, but different.

I hope that answers your question.
JS


Yes, it did, I also already understood the "real" meaning of multi-threading. I am thinking of using a .a3x script for things that can't be covered with a Progress Bar like array sorts. I kept following up because because I keep reading people who want to do multi-threading in spite of Valik's tireless efforts. Maybe they hadn't thought of using .a3x scripts. If any of them run across this thread it will give a whole new direction to explore. :)

I appreciate your responses.

Gene
Thanks for the response.GeneYes, I know the punctuation is not right...

#16 Ontosy

Ontosy

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 340 posts

Posted 11 May 2007 - 09:36 AM

In order to make this, it would be sufficient to recompile the source in format DLL and to create a small file in order to link it?

Edited by Ontosy, 11 May 2007 - 11:12 AM.


#17 Ontosy

Ontosy

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 340 posts

Posted 30 May 2007 - 07:38 PM

Do it is a bad idea?
i'm capable to run 10 autoit.exe instead of 1 autoit.dll

#18 Richard Robertson

Richard Robertson

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 10,277 posts

Posted 30 May 2007 - 08:37 PM

Yes, Ontosy, I'm afraid that this idea will not pull through. When you receive no new replies for that long a span of time, you'd be better off giving up.

#19 Raik

Raik

    Adventurer

  • Active Members
  • PipPip
  • 124 posts

Posted 02 June 2007 - 11:41 PM

autoit may use dll's as well, right?
why not write a script, witch launches the dll and compile it? or, if possible, call the dll via batch-file with this script as param, to get the dll memory resistant?
just an idea ...

AutoIt-Syntaxsheme for Proton & Phase5 * Firefox Addons by me (resizable Textarea 0.1d) (docked JS-Console 0.1.1)


#20 Guest_Guest_Ontosy_*_*

Guest_Guest_Ontosy_*_*
  • Guests

Posted 15 June 2007 - 10:00 AM

autoit may use dll's as well, right?
why not write a script, witch launches the dll and compile it? or, if possible, call the dll via batch-file with this script as param, to get the dll memory resistant?
just an idea ...

the problem not is to launches any dll ma launches autoit as dll and not as exe.
the problem is to have a autoit.dll not ActiveX that is but full AutoIt as dll.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users