AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

v1.0.48 released: Runs up to 3x as fast. Adds while-loop.
Goto page 1, 2, 3  Next
 
Reply to topic    AutoHotkey Community Forum Index -> Announcements
View previous topic :: View next topic  
Author Message
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10716

PostPosted: Wed Feb 25, 2009 10:41 pm    Post subject: v1.0.48 released: Runs up to 3x as fast. Adds while-loop. Reply with quote

Here are the changes for v1.0.48:

Compatibility: The change most likely to affect backward compatibility is that floating point numbers stored in variables now have higher precision. Scripts that rely on tiny differences in precision would either need to be reviewed and updated, or have their compatibility improved by using "SetFormat Float" (e.g. SetFormat, Float, 0.6) anywhere in the script. "SetFormat Float" disables the higher precision, but gives up some of the new, faster floating point performance.

Performance: The main theme of this release is faster performance. Almost all scripts should run faster -- especially those that make heavy use of expressions and integer math/comparisons (which may run up to three times as fast). To achieve the full benefit, a script either should avoid using SetFormat or should use SetFormat's fast mode.


Performance improvements

Expressions and function calls are compiled more heavily, making them much faster (especially complex integer expressions, including those with commas).

Binary numbers are cached for variables to avoid conversions to/from strings. This makes numerical operations involving variables much faster.

Literal integers in expressions and math/comparison commands are replaced with binary integers, which makes them faster; e.g. X+5 and "if x > 5".

LOOPs, IFs, and ELSEs that have blocks (braces) are faster due to skipping the opening '{'. A side-effect is that the '{' is omitted from ListLines.

Thread-creation performance is improved, which should help rapid-fire threads in OnMessage(), RegisterCallback(), and GUI events.


Changes that might affect existing scripts (other than higher-precision floating point described at the top)

When "SetFormat, Integer, Hex" is in effect, assigning a literal decimal integer to a variable also converts it to hex. Usually this is only a display issue.

For OnMessage() performance, the message number and HWND arrive as standard numbers rather than appearing unconditionally as hex. Usually this is only a display issue.

To achieve various improvements in performance, scripts now use slightly more memory (proportionate to the number of variables and expressions).

Changed and fixed "if var is time" and other uses of YYYYMMDDHHMISS date-time stamps to recognize that months outside the range 1-12 are invalid. [thanks Nick]

Changed and improved dynamic function calling to allow passing more parameters than defined by a function, in which case the parameters are evaluated but discarded. [developed by Lexikos]


Other improvements

Added function IsFunc(), which indicates whether a function may be called dynamically. [developed by Lexikos]

Added the while-loop, which repeats its commands until its expression evaluates to false. [developed by Lexikos]

Added an assume-static mode for functions. [developed by Lexikos]

Added built-in variables A_IsPaused and A_IsCritical. [developed by Lexikos]

Improved NumPut() to support UInt64 like DllCall(). [thanks Sean]

Improved mouse wheel support by adding WheelLeft and WheelRight as hotkeys and supporting them in Send, Click, and related commands. However, WheelLeft/Right has no effect on operating systems older than Windows Vista. [developed by Lexikos]

Upgraded compiled script compressor from UPX 3.00 to 3.03.


Fixes

Fixed inability to use MsgBox's timeout parameter when the "Text" parameter had an expression containing commas.

Fixed "Menu, Delete, Item-that's-a-submenu" not to disrupt the associated submenu. [thanks animeaime & Lexikos]

Fixed the GUI Hotkey control to return usable hotkey names even for dead keys (e.g. "^" instead of Zircumflex). [thanks DerRaphael]

Fixed RegDelete so that it won't delete an entire root key when SubKey is blank. [thanks Icarus]

Fixed registry loops to support subkey names longer than 259 (rare). In prior versions, such subkeys would either be skipped or cause a crash. [thanks Krzysztof Sliwinski & Eggi]

Fixed FileSelectFolder by providing an option to make it compatible with BartPE/WinPE. [thanks markreflex]

Fixed window/control IDs (HWNDs), which in rare cases wrongly started with 0xFFFFFFFF instead of just 0x. [thanks Micahs]

Fixed inability of Send commands to use the Down/Up modifiers with the "}" character. [thanks neovars]
Back to top
View user's profile Send private message Send e-mail
SoggyDog



Joined: 02 May 2006
Posts: 783
Location: Greeley, CO

PostPosted: Wed Feb 25, 2009 10:49 pm    Post subject: Reply with quote

Yea!
_________________

SoggyDog
Dwarf Fortress:
"The most intriguing game I've ever played."


Last edited by SoggyDog on Thu Feb 26, 2009 1:43 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
jaco0646



Joined: 07 Oct 2006
Posts: 3113
Location: MN, USA

PostPosted: Wed Feb 25, 2009 11:45 pm    Post subject: Reply with quote

Ditto!

Edit: Is there a reason for the different syntax style of the While-Loop, as opposed to
Code:
Loop, While, Expression
...like the other loop commands?
Back to top
View user's profile Send private message Visit poster's website
Krogdor



Joined: 18 Apr 2008
Posts: 1390
Location: The Interwebs

PostPosted: Thu Feb 26, 2009 12:28 am    Post subject: Reply with quote

Great job, Chris! Not only a speed update but also quite a few good features from Lexikos' branch of AHK.

The only other thing from Lexikos' that I wish was in this one is the #If hotkey modifier, but it's still very nice to see an official update Very Happy
Back to top
View user's profile Send private message AIM Address
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10716

PostPosted: Thu Feb 26, 2009 12:50 am    Post subject: Reply with quote

jaco0646 wrote:
Is there a reason for the different syntax style of the While-Loop, as opposed to
Code:
Loop, While, Expression
...like the other loop commands?
The main reason is that a simple While is used in many other languages, which cuts down the learning curve when going to or coming from other languages.

Krogdor wrote:
The only other thing from Lexikos' that I wish was in this one is the #If hotkey modifier, but it's still very nice to see an official update Very Happy
Hopefully that and some of the other features will be added in the next major release, or maybe a sooner, minor one.
Back to top
View user's profile Send private message Send e-mail
tank



Joined: 21 Dec 2007
Posts: 3700
Location: Louisville KY USA

PostPosted: Thu Feb 26, 2009 1:50 am    Post subject: Reply with quote

jaco0646 wrote:
Edit: Is there a reason for the different syntax style of the While-Loop, as opposed to
Code:
Loop, While, Expression
...like the other loop commands?
Actually i find this more apporpriate
than
Code:
Loop, While, Expression
Tho i can see how your suggestion fits the rest of the ahk syntax scheme more.
but the
Code:
While Expression
syntax feels more natural comming from other languages
_________________

We are troubled on every side‚ yet not distressed; we are perplexed‚
but not in despair; Persecuted‚ but not forsaken; cast down‚ but not destroyed;
Back to top
View user's profile Send private message
corrupt



Joined: 29 Dec 2004
Posts: 2485

PostPosted: Thu Feb 26, 2009 7:29 am    Post subject: Reply with quote

Thanks Smile Time to play...
Back to top
View user's profile Send private message Visit poster's website
fincs



Joined: 05 May 2007
Posts: 1160
Location: Seville, Spain

PostPosted: Thu Feb 26, 2009 10:16 am    Post subject: Reply with quote

Finally! Razz Razz Razz

Very Happy Smile Shocked Razz Surprised Laughing

A lot of emotions are running through my nerves!
_________________
fincs
Get SciTE4AutoHotkey v3.0.00 (Release Candidate)
[My project list]
Back to top
View user's profile Send private message
Sean



Joined: 12 Feb 2007
Posts: 2462

PostPosted: Thu Feb 26, 2009 12:05 pm    Post subject: Reply with quote

Long awaited! All my scripts are now fully functional with the new build.
Back to top
View user's profile Send private message
Lexikos



Joined: 17 Oct 2006
Posts: 7295
Location: Australia

PostPosted: Thu Feb 26, 2009 1:42 pm    Post subject: Reply with quote

Thanks Chris. I've brought AutoHotkey_L in line with the new version. Smile
Back to top
View user's profile Send private message Visit poster's website
toralf



Joined: 31 Jan 2005
Posts: 3910
Location: Bremen, Germany

PostPosted: Thu Feb 26, 2009 4:02 pm    Post subject: Reply with quote

Thank you Chris and Lexikos, much appreciated.
_________________
Ciao
toralf
Back to top
View user's profile Send private message Send e-mail Visit poster's website
AnAHKUser



Joined: 05 Feb 2007
Posts: 27

PostPosted: Thu Feb 26, 2009 6:49 pm    Post subject: Reply with quote

Thank you! Much appreciated Very Happy
Back to top
View user's profile Send private message
Icarus



Joined: 24 Nov 2005
Posts: 851

PostPosted: Thu Feb 26, 2009 9:34 pm    Post subject: Thanks a lot Reply with quote

Chris,

Thanks a lot for this release and thanks for implementing the RegDelete fix.
I can sleep a little better now.

Even though I am not following the Lexikos branch, it is obvious that it has great contribution to the official build as well - so thanks a lot for that Lexikos.

AHK forever. (t-shirt? Smile )
_________________
Sector-Seven - Freeware tools built with AutoHotkey
Back to top
View user's profile Send private message Visit poster's website
David Andersen



Joined: 15 Jul 2005
Posts: 140
Location: Denmark

PostPosted: Fri Feb 27, 2009 9:57 am    Post subject: Reply with quote

Great work Chris and Lexikos! Big thanks also to Sean, Nick, Icarus, DerRaphael, Animeaime, Markreflex, Krzysztof Sliwinski, Eggi, Micahs and Neovars for contributing!
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Tuncay



Joined: 07 Nov 2006
Posts: 1886
Location: Germany

PostPosted: Fri Feb 27, 2009 6:56 pm    Post subject: Reply with quote

Thanks Chris, thats a great update. And thank you to Lexikos, who has developed some of the new elements like While Expression.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> Announcements All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group