Jump to content

AutoIt v3.3.9.13 Beta


Jon
 Share

Recommended Posts

Back to the performance thing. Eukalyptus discovered that the For/Next loop is slower in the beta version. I changed almost all for/next loops from the benchmark in post #64 and can confirm that with do/until loop nearly both versions are at same speed.

 

Here a short test. Beta is approx. 25% slower on my system:

$j = 0
$iMax = 50000000
$t = TimerInit()
For $i = 0 To $iMax
    $j += 1
Next
$fEnd = TimerDiff($t) / 1000
ConsoleWrite(StringFormat("%.2f seconds.", $fEnd) & @LF)
Here my results:

3.3.8.1: 10.85 seconds.

3.3.9.13: 13.17 seconds.

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

  • Moderators

Hi,

My results from testing that script:

3.3.8.1 => ~20 sec

3.3.9.4 => ~18 sec

3.3.9.13 => ~25 sec

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

 Incorrect,

Actually the number 2 + 3 (5) will be converted to a string for the comparison.

That's because of == operator:

 

I agree with you - Jaberwocky6669 was >confusing me. Somebody once described this operator to me as matching exact equal values and I presumed case sensitivity to just be one of many applications.

This operator should only be used for string comparisons that need to be case sensitive.

 

Why?

;

ConsoleWrite ((.999999999999999999999 == 1.00000000000000000001) & @LF) ; True
ConsoleWrite ((.999999999999999999999  = 1.00000000000000000001) & @LF) ; True

;

I realise I was wrong about how the case statement comparison is made, although I did say I imagine how it might work - and we are compairing strings with numbers. Because AutoIt is closed source I don't know exactly how Case statements work - there could be exceptions or special matching criteria I am not aware of. Thanks for correcting me all the same. :)

Edited by czardas
Link to comment
Share on other sites

I agree with you - Jaberwocky6669 was >confusing me. Somebody once described this operator to me as matching exact equal values and I presumed case sensitivity to just be one of many applications.

 

Why?

;

ConsoleWrite ((.999999999999999999999 == 1.00000000000000000001) & @LF) ; True
ConsoleWrite ((.999999999999999999999  = 1.00000000000000000001) & @LF) ; True

;

I realise I was wrong about how the case statement comparison is made, although I did say I imagine how it might work - and we are compairing strings with numbers. Because AutoIt is closed source I don't know exactly how Case statements work - there could be exceptions or special matching criteria I am not aware of. Thanks for correcting me all the same. :)

Put .999999999999999999999  in a calculator press = it became in 1. both  .999999999999999999999 and 1.00000000000000000001 are 1.

saludos

Link to comment
Share on other sites

For IEEE754, the closest you can get to 1.0 without actually being 1.0 would be all the bits set in the mantissa and the exponent being -1. That would mean about 

0.9999999999999997... for a double. Anything greater than that (but less than 1) is rounded to 1.0 by the floating point processor.

You might get a little bit more as most computers nowadays use 80bit floats (double extended precision).

Just thought you might be interested.

Link to comment
Share on other sites

Why I am getting below error whenever I try to compile the script in Scite?

 

Error: Unable to add resources.

C:Users****AppDataLocalTemp~AU3rlgeppu.exe

I am running Scite as "Run as administrator" mode.

AutoIt: 3.3.9.13

OS: Win 8 x64

73 108 111 118 101 65 117 116 111 105 116

Link to comment
Share on other sites

@czardas:

Because it's documented in this way:

http://www.autoitscript.com/autoit3/docs/intro/lang_operators.htm

 

Ah well, I'm not sure I entirely trust the documentation. The above example I posted doesn't balk at all. It works like a charm, making correct comparisons, and therefore it's a nice and flexible catch-all operator. If type coersion was not at play, then I would agree with you.

It seems we've veered away from the topic with this.

Edited by czardas
Link to comment
Share on other sites

Actually having a case sensitive comparison makes it inflexible, not flexible.

Your example worked because it was comparing the strings as numbers, it's one of the idiosyncrasies of having variants.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

Case sensitivity isn't the issue. It has the same flexibility as the standard equals operator in the following way: It is flexible because you don't need to test the data type in order to know which operator to use to make a comparison.  That saves a lot of code.

Edited by czardas
Link to comment
Share on other sites

You don't need to test the data type with = either, so I'm not getting your point.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

Why I am getting below error whenever I try to compile the script in Scite?

I am running Scite as "Run as administrator" mode.

AutoIt: 3.3.9.13

OS: Win 8 x64

 

Wait, temp file is in %temp% again? I thought Jon has cahnged that. :

Do you perhaps have temp directory Digisoul opened with explorer during compilation?

 

AutoIt3Wrapper still uses %temp% by default. The beta has my patch where you can set the temp dir yourself. I don't know why your resource update is failing, but that's why the temp file is in %temp%.

Link to comment
Share on other sites

  • Developers

Looks to me like an AUT2EXE error, not the AutoIt3Wrapper error.

Scratch that ... the error is AUT2EXE but indeed Autoit3Wrapper could have give the target EXE in on the commandline.

Jos

Edited by 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

AutoIt3Wrapper still uses %temp% by default. The beta has my patch where you can set the temp dir yourself. I don't know why your resource update is failing, but that's why the temp file is in %temp%.

Can you please point the directions to set the temp path ?

73 108 111 118 101 65 117 116 111 105 116

Link to comment
Share on other sites

  • Developers

Can you please point the directions to set the temp path ?

Are you using the latest Beta version available of Autoit3Wrapper?

Add the following to AutoIt3Wrapper.ini in the AutoIt3Wrapper directory.

 

[Other]
TempDir=%USERPROFILE%
Edited by 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

 

Are you using the latest Beta version available of Autoit3Wrapper?

Thanks, I was using old version of Autoit3Wrapper, because I did not faced such issue in 3.3.9.12 Beta.

Even after updating the new version from "beta_SciTE4AutoIt3" link, still getting the error, console showed:

!> Aut2exe.exe ended errors because the target exe wasn't created, abandon build. (C:\Users\***\AppData\Local\Temp\~AU3lobqafz.exe)rc:9999

73 108 111 118 101 65 117 116 111 105 116

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

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