Sign in to follow this  
Followers 0
norry

Is using 'not' better than using '= 0'

20 posts in this topic

Hi

When starting using Autoit I used to do the following for example;

If FileExists ("C:\afile.txt") = 0 Then

Is it better to use instead?

If Not FileExists ("C:\afile.txt") Then

Thanks

Share this post


Link to post
Share on other sites



and just to throw a real wrench into the works; this will also work the same

If Not FileExists("C:afile.txt") = 1 then


George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

I usually practice "not" as well

I just did a simple speed test and was slightly surprised to find =0 is faster by roughly 20% but were talking microseconds here.

edit:

Not =1 also is faster than just Not.....confused.

_Test1()
_Test2()
_Test3()

Func _Test1()
    ConsoleWrite("Not" & @CRLF)
    $timer = TimerInit()
    If Not FileExists(@SystemDir) Then
    
    EndIf
    ConsoleWrite(TimerDiff($timer) & @CRLF)
    $timer = 0
    
    $timer = TimerInit()
    If Not FileExists("c:oogieboogie") Then
    
    EndIf
    ConsoleWrite(TimerDiff($timer) & @CRLF)
    $timer = 0
EndFunc

Func _Test2()
    ConsoleWrite("=0" & @CRLF)
    $timer = TimerInit()
    If FileExists(@SystemDir) = 0 Then
    
    EndIf
    ConsoleWrite(TimerDiff($timer) & @CRLF)
    $timer = 0
    
    $timer = TimerInit()
    If FileExists("c:oogieboogie") = 0 Then
    
    EndIf
    ConsoleWrite(TimerDiff($timer) & @CRLF)
    $timer = 0
EndFunc

Func _Test3()
    ConsoleWrite("Not =1" & @CRLF)
    $timer = TimerInit()
    If Not FileExists(@SystemDir) = 1 Then
    
    EndIf
    ConsoleWrite(TimerDiff($timer) & @CRLF)
    $timer = 0
    
    $timer = TimerInit()
    If Not FileExists("c:oogieboogie") = 1 Then
    
    EndIf
    ConsoleWrite(TimerDiff($timer) & @CRLF)
    $timer = 0
EndFunc

Edited by spudw2k

Share this post


Link to post
Share on other sites

spudw2k,

I found this to be the case as well sometime ago, Not does make it easier to read but I try to use ' = 0' when I can.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Another one is single line If statements >>

Local $iTimer, $iVariable = 1

$iTimer = TimerInit()
For $A = 1 To 100000
    If $iVariable Then $iVariable = 1
Next
ConsoleWrite(Round(TimerDiff($iTimer), 2) & @CRLF) ; Average = 0.00830911064656123

$iTimer = TimerInit()
For $A = 1 To 100000
    If $iVariable Then
        $iVariable = 1
    EndIf
Next
ConsoleWrite(Round(TimerDiff($iTimer), 2) & @CRLF) ; Average = 0.00586525457404322

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

very interesting. if the differences were beyond microseconds I'd probably change my coding practices, but this has opened my eyes to the fact that while I may have two seemly identical routines to accomplish the same task, one might be more efficient.

Thanks for sharing

Share this post


Link to post
Share on other sites

Not =1 also is faster than just Not.....confused.

Seems like there is some initialization work being done under the hood, just shuffle the function calls and make more iterations.

_Test3()
_Test3()
_Test1()
_Test2()


Func _Test1()
    ConsoleWrite("Not" & @CRLF)
    $timer1 = TimerInit()
    For $i = 1 To 10000
        If Not FileExists(@SystemDir) Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer1) & @CRLF)

    $timer2 = TimerInit()
    For $i = 1 To 10000
        If Not FileExists("c:oogieboogie") Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer2) & @CRLF)

EndFunc   ;==>_Test1

Func _Test2()
    ConsoleWrite("=0" & @CRLF)
    $timer1 = TimerInit()
    For $i = 1 To 10000
        If FileExists(@SystemDir) = 0 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer1) & @CRLF)


    $timer2 = TimerInit()
    For $i = 1 To 10000
        If FileExists("c:oogieboogie") = 0 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer2) & @CRLF)

EndFunc   ;==>_Test2

Func _Test3()
    ConsoleWrite("Not =1" & @CRLF)
    $timer1 = TimerInit()
    For $i = 1 To 10000
        If Not FileExists(@SystemDir) = 1 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer1) & @CRLF)


    $timer2 = TimerInit()
    For $i = 1 To 10000
        If Not FileExists("c:oogieboogie") = 1 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer2) & @CRLF)

EndFunc   ;==>_Test3

Share this post


Link to post
Share on other sites

Seems like there is some initialization work being done under the hood,

Yes there is.

Seeing speed test that seem to ignore that little fact always bother me.

Not seen yet:

If FileExists("C:afile.txt") then

else


"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Share this post


Link to post
Share on other sites

I've found on my system If FileExists(@ScriptDir) = 0 Then and If FileExists(@ScriptDir) Then to be the speediest!!


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Hey Norry

as u may get a bit confused because eveyone have their own opinion so am I

Anyways I will like to clear your doubt

If u check the operators part in the help file u will find that 'NOT' is listed above all.........

Its also the fastest option .........

U can use either way both are the same But using 'NOT' is a better option

Since even a single microsecond is important in computers

Regards

Phoenix XL


My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

Its also the fastest option .........

How did you draw this conclusion?

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

Hey Guinness

U can use Timer Functions to find it out ..........

Figure it out by the values returned

_Test1()
_Test2()

Func _Test1()
    ConsoleWrite("Not=" & @TAB)
    $timer1 = TimerInit()
    For $i = 1 To 10000
        If Not FileExists(@SystemDir) Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer1) & @CRLF)
ConsoleWrite("=0" & @TAB)
    $timer2 = TimerInit()
    For $i = 1 To 10000
        If FileExists(@SystemDir)=0 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer2) & @CRLF)
EndFunc   ;==>_Test1
Func _Test2()
    ConsoleWrite("Not=" & @TAB)
    $timer1 = TimerInit()
    For $i = 1 To 10000
        If Not FileExists('c:oogieboogie') Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer1) & @CRLF)
ConsoleWrite("=0" & @TAB)
    $timer2 = TimerInit()
    For $i = 1 To 10000
        If FileExists("c:oogieboogie") = 0 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer2) & @CRLF)
EndFunc   ;==>_Test2

Tried 15 Times on my system

and Each and Every Time the Not was Fastest

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

Your test gave me this >>

Not= 412.02056573866

=0 390.80573256035

Not= 626.157238259234

=0 603.384675992839


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Sorry Guinness but on My Computer its just the Opposite

Im Having Intel Core 2 Duo

2 GB Ram and Windows 7 32 Bit..............

I replied according to the results i got

Sorry if i provided with wrong information


My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

#19 ·  Posted (edited)

That speed test is flawed because it's relying on FileExists, which has to use the hard drive. Using the hard drive in any way will provide inaccurate results, since it can be artificially higher if the hard drive had to read elsewhere while the program was running, and because of hard drive caching. You want to stick with as simple as you can to get the best result for speed... I used this modified code below and got the result

Control 77.339361134457

Control 70.0860663838289

Not 88.6980408713137

= 0 119.18438789057

Not 89.8022169750838

= 0 116.691032824602

It seems from this more stripped down test, Not is faster than = 0 when spread out over 100k calls... The two "Control" things in there are 100k checks of just "If True Then"

Modified speed test code:

Control()
Control()
Test1()
Test2()
Test1()
Test2()

Func Test1()
    ConsoleWrite("Not" & @TAB)
    $timer = TimerInit()
    For $i = 1 To 100000
        If Not True Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer) & @CRLF)
EndFunc

Func Test2()
    ConsoleWrite("= 0" & @TAB)
    $timer = TimerInit()
    For $i = 1 To 100000
        If Not True = 0 Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer) & @CRLF)
EndFunc

Func Control()
    ConsoleWrite("Control" & @TAB)
    $timer = TimerInit()
    For $i = 1 To 100000
        If True Then
        EndIf
    Next
    ConsoleWrite(TimerDiff($timer) & @CRLF)
EndFunc

EDIT: We should probably also say the CPU/RAM speed we have, since that could very well make a difference..

I've got a 1.83Ghz Intel Core 2 Duo with DDR2-667 ram.

Edited by Kealper

Share this post


Link to post
Share on other sites

#20 ·  Posted (edited)

That speed test is flawed because it's relying on FileExists,

Flawed is a big word. But yea, in speed tests you should try to minimize/optimize the test to eliminate unneeded additional variations.

FileExists: could (ok, will) most of the time use the disk cached data instead of actually firing a physical disk check.

Edited by MvGulik

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Share this post


Link to post
Share on other sites

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
Sign in to follow this  
Followers 0