Jump to content

Recommended Posts

  • Administrators
Posted

Updated with the new function lookup code. Many many things were changed so it is extremely likely that bugs will have been introduced (such as incorrect number of parameters, and errors introduced when inline code was transferred to a function).

Much testing required :D (I've left the previous files there too just in case)

http://www.autoitscript.com/autoit3/files/unstable/autoit/

  • Replies 87
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

I'm sure that you'll all be happy to know that I've gone and done it, updated to 'unstable'... now we'll see if I can make the script work to automatically update to new builds... maybe I'll even venture as far as making a GUI... wish me luck.

"I'm not even supposed to be here today!" -Dante (Hicks)

Posted

I'm sure that you'll all be happy to know that I've gone and done it, updated to 'unstable'...  now we'll see if I can make the script work to automatically update to new builds...  maybe I'll even venture as far as making a GUI...  wish me luck.

With GUI start small. Not need to be at super advanced level first.

Super sophisticated interaction is more difficult to master ... :D

  • Administrators
Posted (edited)

Updated an "ultra unstable"

http://www.autoitscript.com/autoit3/files/...ble/autoit/xxx/

3.0.102 (23rd May, 2004) (Beta)

- Updated: GUI code from JP's version 3.0.102.24 + Jon's fixes/changes

- Fixed: ToolTip() when the mouse is near the bottom of the screen

- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4 (compression level, 4=best)

- Fixed: StringIsDigit()

- Fixed: Process... functions under NT4 unable to see certain processes (Cheers, AndrewL)

Basically, JPs gone on holiday until the 30th so I started looking at the gui code and I found quite a bit that didn't "look" right and some odd things with missing break; in case statements and > 0 that should have been >= 0 - the usual stuff :0

I also couldn't work out why the WndProc for the gui was split into two seperate parts (one in application.cpp and one in guibox.cpp) and subclassed together - so i merged them into one in guibox.cpp.

I improved the tabbing and message pump for GuiMsg(0) mode - some messages still aren't processed though and still need improvement.

Anyone I've made about 50 changes and it _seems_ to work the same as the previous one but I'll keep it seperate from the normal unstable until those who use the GUI functions alot feedback.

At least I understand how it works now :D

Edited by Jon
Posted (edited)

Just to get this straight:

We can use these versions without the fear of a spontaneous crash?

I appreciate your hard work and thank you for creating this amazing script language.

Edited by SlimShady
  • Administrators
Posted

Hi Jon, the first thing I saw is, when I have a compiled (gui)-script then the right icon doesn't appear in the left top corner of the gui.

There is only a blank white symbol.

Maybe it's cause of changes from you or jpm, I don't know.

Regards Holger

Oops. Fixed.

I'd moved the class registration in the GUI constructor, but the global variables it relied on aren't initialized at that point... Rookie error :D

Posted

Will there be the ability to compile for GUI and Non-GUI? I am just thinking about the size delta of compiled scripts. Would it be easy to impliment? Wouldn't you just need to have 2 AutoItSC.bin files? One for each? :D

  • Administrators
Posted

Updated the unstable - fixed loads of memory leaks in the GUI (i think :D )

http://www.autoitscript.com/autoit3/files/unstable/autoit/

3.0.102 (24th May, 2004) (Beta)

- Updated: GUI code from JP's version 3.0.102.24 + Jon's fixes/changes

- Fixed: ToolTip() when the mouse is near the bottom of the screen

- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4 (compression level, 4=best)

- Fixed: StringIsDigit()

- Fixed: Process... functions under NT4 unable to see certain processes (Cheers, AndrewL)

Posted

- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4  (compression level, 4=best)

wow. that's a new, cool feeling... something I asked for is going into an awesome product... :):huh2::D

"I'm not even supposed to be here today!" -Dante (Hicks)

Posted (edited)

Regarding the variable speed tests. WOW! :huh2:

I compared version 3.0.101 with its array-based variables against 3.0.102 (last week's version) with binary tree storage of variables and 3.0.102 with linked list storage of variables.

My first test involved creating 1000 variables in random order and then adding all the values of the variables up, with the variables sorted. I timed how long it took to create all the variables and to add all the variables seperately. My second test created 5 variables in 100 levels of recursion then using the +, * and ^ operators 1000 times and timing how long it took to (1) create the levels, (2)run the For loop with the operators and (3) remove all levels of recursion.

In all my tests, version 3.0.101 was by far the slowest in all measurements. The binary tree was the fastest for searching, but the level of housekeeping while adding new variables slowed it down considerably. The linked list was the fastest to add new variables, and was only a little slower (<10%) than the binary tree in searching. The linked list was about 10% faster than the binary tree for coming out of recursion, perhaps due to the simpler structure of the linked list, during the pop operations.

I say we go with Jon's linked list for variable storage.

Oh Jon, if you are using the binary tree class to store the function list, do not call the balance function until you have added all the functions. This should speed things up. This was the problem with the version I created for the variables. I did not have a nice mechanism to determine when to call the balance function. :D

I will start creating the Debug configuration when 3.0.102 becomes stable enough. Should the debug version get the UPX treatment for its release version?

Edit: Spelling mistakes and correct version numbers.

Edited by Nutster

David Nuttall
Nuttall Computer Consulting

An Aquarius born during the Age of Aquarius

AutoIt allows me to re-invent the wheel so much faster.

I'm off to write a wizard, a wonderful wizard of odd...

  • Administrators
Posted (edited)

Good to know and thanks a lot for doing the tests.

For the function list I was going to get the names of all the functions first in a list (already done at the start of the script) then I was going to move the entries into an array for easy access. Then I was going to sort the list (again, all done before the script starts). It should be easy to do a binary search on that list when functions are called.

When you look at the debug stuff let me know in advance and I will set up the relevant project stuff and defines.

Cheers

Edited by Jon

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...