Custom Query
Results (145 - 147 of 3866)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#3796 | Works For Me | Execute() cause crash (-1073741819) with some strings containing punctuation. | Jpm | steipal@… |
Description |
Execute(Dec.<string>) = Crash, because "Dec" is a function? Execute(String.<string>) = Crash, because "String" is a function? Execute(Dec.<number><string>) = Crash, because it contain string? Execute(.<string>) = Crash. Reason unknown to me. Execute(Dec.<number>) = OK. Reason unknown to me. Execute(String.<number>) = OK. Reason unknown to me. Execute(Dec. <string>) = OK, because of space between . and string? Execute(Bec.<string>) = OK, because "Bec" is NOT a function? So the rule seem to be crash under the following scenarios: Execute(valid_function.<string>) Execute(.<string>) The example functions used (Dec, String) is arbitrary. And when I write that Execute is OK it means it does not crash. No matter if the string result is empty/error. The bug is also present in 3.3.14.5. |
|||
#3795 | Wont Fix | Missing documention for MapAppend() | Robinson1 | |
Description |
So far documentation for Map Management is only available in french. At the international/english site it is missing: https://www.autoitscript.com//autoit3/docs/functions/ So in detail that concerns:
Would be also nice to have that new functions listed in au3.api so they get known to the syntax checker and tidy. (Should I create a separated ticket for that?) Beside that ticket I also issued a forum post about: https://www.autoitscript.com/forum/topic/204576-mapappend-documention-only-available-in-french/ |
|||
#3794 | Fixed | StringRegExp - string passed by value instead by reference? | Jon | AspirinJunkie |
Description |
Script: ; create a very large string (should be about 400 MB because UTF-16 is used) Global $sString = "" For $i = 1 To 20 * 1024 * 1024 $sString &= "xxxxxxxxxx" Next ; precompile pattern StringRegExp("", "^.") ; determine time required for a small input string: $iT = TimerInit() StringRegExp("Test", "^.") ConsoleWrite(StringFormat("RegEx with small input string: % 8.3f ms\n", TimerDiff($iT))) ; determine time required for a large input string: $iT = TimerInit() StringRegExp($sString, "^.") ConsoleWrite(StringFormat("RegEx with large input string: % 6.1f ms\n", TimerDiff($iT))) Output: RegEx with small input string: 0.012 ms RegEx with large input string: 328.1 ms The execution time depends directly on the size of the input string although only the first character of the string is processed. If instead of StringRegExp a StringLeft or a StringMid is used then the execution times are independent of this. This leads to the assumption that in the implementation of StringRegExp() at some point the input string is passed as "by value". This would require the creation of a local copy of the string and would explain the loss of time. If it is really a "by value" problem, i suggest to switch completely to "by reference" internally if possible. This would mean a massive performance gain for StringRegExp especially with large strings. |