Jump to content

Recommended Posts

Posted

The problem with HelpFile and "Related" section is still there.

  Quote

 

Related
(), (), (), (), (), (), (), (), (), (), ()
Example

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

I fixed the build script. The help files need to be reconstructed that is all.

UDF List:

  Reveal hidden contents

Updated: 22/04/2018

Posted

Ok.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

  • Moderators
Posted

TypeIt,

After multiple attempts, that code does not crash for me in either 3.3.12.0 or 3.3.13.8. Does it crash for you in earlier versions or just the Beta? :huh:

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:

  Reveal hidden contents

 

Posted

Hello! After version 3.3.13.7 arrays work noticably slower -- from ~11% slower for 1D arrays to ~24% for 3D array...  

And btw, curiously enough, version 3.3.13.6 is slightly faster that 3.3.12.0

version 3.3.12.0: 1138.2299784516

version 3.3.13.6: 1124.6431906223

version 3.3.13.8: 1410.6926015453

Global $t, $d, $dd=0, $a[10000][2][3], $biggest, $smallest
SRandom(12)

;fill with random numbers
$t=TimerInit()
for $i=1 to 100
    for $j=0 to UBound($a)-1
        $a[$j][0][0]=Random(0,10000,1)
    next
next
$d=TimerDiff($t)
ConsoleWrite('filling with random numbers took: '& $d &@cr)

for $i=1 to 10
    $t=TimerInit()
    for $j=1 to 100
        $biggest=$a[0][0][0]
        $smallest=$a[0][0][0]
        for $k=0 to UBound($a)-1
            if $a[$k][0][0]>$biggest then $biggest=$a[$k][0][0]
            if $a[$k][0][0]<$smallest then $smallest=$a[$k][0][0]
        next
    next
    $d=TimerDiff($t)

    $dd+=$d
    ConsoleWrite($i&'\10: '&$d &@cr)
next
ConsoleWrite('----' &@cr& $dd/10 &@cr& '----' &@cr)
exit
  • Administrators
Posted

  On 7/24/2014 at 3:21 PM, Melba23 said:

TypeIt,

After multiple attempts, that code does not crash for me in either 3.3.12.0 or 3.3.13.8. Does it crash for you in earlier versions or just the Beta? :huh:

M23

It crashes in debug mode, so there's something up.

Posted

  On 7/24/2014 at 3:21 PM, Melba23 said:

Does it crash for you in earlier versions or just the Beta?

Just this and the last beta.

 

  On 7/24/2014 at 3:21 PM, Melba23 said:

After multiple attempts, that code does not crash for me in either 3.3.12.0 or 3.3.13.8.

The following line crashes sometimes. When repeating that statement one hundred times, it usually crashes.

Call (test, $args)
It doesn't crash when the called function expects less than two arguments or too few arguments are passed.
Posted

Jon,

Something else for you. DllStructs don't support zero-length struct elements:

Local $t = DllStructCreate("byte[0]")
ConsoleWrite("error = " & @error & "  struct size = " & DllStructGetSize($t) & @LF)
Local $read = DllStructGetData($t, 1)
ConsoleWrite("error = " & @error & "  value read is " & VarGetType($read) & " = " & $read & @LF)
Local $read = DllStructGetData($t, Default)
ConsoleWrite("error = " & @error & "  value read is " & VarGetType($read) & " = " & $read & @LF)

The issue arose when a user tried to crypt/decrypt a zero-length RC4 ciphertext, which is absolutely legal. >The thread is there.

Now what do we do: either introduce a kludge in Crypt.au3 or rely on the possibility that you allow support for zero-length items in dllstructs?

monoceres and I at least are in favor of the later.

  Reveal hidden contents

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Posted (edited)
  On 7/24/2014 at 3:44 PM, santeri said:

 

Hello! After version 3.3.13.7 arrays work noticably slower -- from ~11% slower for 1D arrays to ~24% for 3D array...  

And btw, curiously enough, version 3.3.13.6 is slightly faster that 3.3.12.0

version 3.3.12.0: 1138.2299784516

version 3.3.13.6: 1124.6431906223

version 3.3.13.8: 1410.6926015453

Global $t, $d, $dd=0, $a[10000][2][3], $biggest, $smallest
SRandom(12)

;fill with random numbers
$t=TimerInit()
for $i=1 to 100
    for $j=0 to UBound($a)-1
        $a[$j][0][0]=Random(0,10000,1)
    next
next
$d=TimerDiff($t)
ConsoleWrite('filling with random numbers took: '& $d &@cr)

for $i=1 to 10
    $t=TimerInit()
    for $j=1 to 100
        $biggest=$a[0][0][0]
        $smallest=$a[0][0][0]
        for $k=0 to UBound($a)-1
            if $a[$k][0][0]>$biggest then $biggest=$a[$k][0][0]
            if $a[$k][0][0]<$smallest then $smallest=$a[$k][0][0]
        next
    next
    $d=TimerDiff($t)

    $dd+=$d
    ConsoleWrite($i&'\10: '&$d &@cr)
next
ConsoleWrite('----' &@cr& $dd/10 &@cr& '----' &@cr)
exit

;

Your test code contains unrelated functions, conditionals, assignments and random elements; which don't necessarily give a very clear picture. In any case, after reading about the changes, this is a major concern. If it's 24% slower with 3D arrays, what will it be with more dimensions? Can anyone else confirm these findings?

Edited by czardas
Posted

I think it's a little unfair to start comparing results like that with a beta version vs stable. I am ignoring the results and concentrating on what is actually important.

UDF List:

  Reveal hidden contents

Updated: 22/04/2018

  • Developers
Posted
  On 7/24/2014 at 8:28 PM, guinness said:

I think it's a little unfair to start comparing results like that with a beta version vs stable. I am ignoring the results and concentrating on what is actually important.

Maybe a little harsh response?

It is an observation brought forward and think it is good that these kind of things are voiced, so it at least can be considered/checked to see if this is a logical consequence of the changes or maybe an issue.

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.
  :)

Posted

Yeah, on the contrary it can be helpful to draw Jon's attention after his massive array support rewrite.

  Reveal hidden contents

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

  • Administrators
Posted
  On 7/24/2014 at 3:07 PM, TypeIt said:

 

The following code usually crashes.

Local $args = ["CallArgArray", 1, 2]
For $i = 1 To 100
    Call (test, $args)
Next
ConsoleWrite ("didn't crash")

Func test ($arg1, $arg2)
EndFunc

 

Fixed in next beta.  It should never have worked in previous versions either. 

  • Administrators
Posted (edited)

  On 7/24/2014 at 5:21 PM, jchd said:

Jon,

Something else for you. DllStructs don't support zero-length struct elements:

Local $t = DllStructCreate("byte[0]")
ConsoleWrite("error = " & @error & "  struct size = " & DllStructGetSize($t) & @LF)
Local $read = DllStructGetData($t, 1)
ConsoleWrite("error = " & @error & "  value read is " & VarGetType($read) & " = " & $read & @LF)
Local $read = DllStructGetData($t, Default)
ConsoleWrite("error = " & @error & "  value read is " & VarGetType($read) & " = " & $read & @LF)
The issue arose when a user tried to crypt/decrypt a zero-length RC4 ciphertext, which is absolutely legal. .

Now what do we do: either introduce a kludge in Crypt.au3 or rely on the possibility that you allow support for zero-length items in dllstructs?

monoceres and I at least are in favor of the later.

That's an invalid struct in C. If the API takes a string an empty string would be byte[1] with a null element or a null ptr depending on the API. Edited by Jon
Posted (edited)
  On 7/24/2014 at 9:01 PM, Jon said:

That's an invalid struct in C. If the API takes a string an empty string would be byte[1] with a null element or a null ptr depending on the API.

Noted and fixed in the crypt functions.

Edited by guinness

UDF List:

  Reveal hidden contents

Updated: 22/04/2018

Posted

That means we have to review code where a zero-size variable e.g. Binary('') may be passed or result in a buffer of size zero then adjust things with new error codes. Just WinAPI[Ex] is a lot!

  Reveal hidden contents

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Posted

  On 7/24/2014 at 3:44 PM, santeri said:

Hello! After version 3.3.13.7 arrays work noticably slower -- from ~11% slower for 1D arrays to ~24% for 3D array...  

And btw, curiously enough, version 3.3.13.6 is slightly faster that 3.3.12.0

 

version 3.3.12.0: 1138.2299784516

version 3.3.13.6: 1124.6431906223

version 3.3.13.8: 1410.6926015453

These are the results I got on 4 different versions, one being an older release version.

version 3.3.8.1: 2103.76097548142 < release version

version 3.3.12.0: 1776.77396205806 < release version

version 3.3.13.2: 1769.10959648772 < older beta

version 3.3.13.8: 2160.37051253727 < latest beta

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!

  Reveal hidden contents

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

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...