PageRenderTime 46ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 1ms

/Benchmarks v1.1.05.06 (Rseding91 Desktop).html

http://github.com/Uberi/AHK-Benchmarks
HTML | 22 lines | 18 code | 3 blank | 1 comment | 0 complexity | 37ef27d59385c6bdc3e2d0a92ddc8485 MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <!-- saved from url=(0100)http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html -->
  3. <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>AutoHotkey Benchmarks</title><style>body{background:#F3F3F3;font-family:Constantia,"Lucida Serif",Lucida,"DejaVu Serif","Bitstream Vera Serif","Liberation Serif",Georgia,serif;margin:2em;font-size:1em;color:#BBBBBB;}table{width:100%;border-collapse:collapse;color:#707070;}h1{font-size:2.8em;text-shadow:#555555 0 -1px 0.04em;color:#D5D5D5;text-align:center;}h2{font-size:1.9em;text-shadow:#555555 0 -1px 0.035em;}td,th{background:#D0D0D0;text-shadow:#FFFFFF 0 0.5px 0.3em;border:1px solid #D5D5D5;padding:0.2em;}th{font-size:1.2em;text-align:left;background-color:#E0E0E0;text-shadow:#888888 0 -1px 0.04em;color:#AAAAAA;}tr.alt td{background-color:#BFBFBF;}pre{background-color:#6F6F6F;margin:0.1em;padding:0.4em;font-size:0.8em;font-family:"Courier New",Courier,monospace;color:#FFFFFF;-webkit-border-radius:0.2em;-moz-border-radius:0.2em;border-radius:0.2em;}ul{padding:1em;background-color:#E5E5E5;-webkit-box-shadow:inset 1px 2px 0.3em #555555;-moz-box-shadow:inset 1px 2px 0.3em #555555;box-shadow:inset 1px 2px 0.3em #555555;line-height:1.5;width:13em;list-style-type:none;}a{text-shadow:#FFFFFF 0 0.5px 0.3em;}a:link{color:#A0A0A0;}a:visited{color:#B8B8B8;}a:hover{color:#FFFFFF;}</style></head><body><h1>AutoHotkey Benchmarks</h1><h2 id="Contents">Contents</h2><ul><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#ControlGroup">Control Group</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#Assignment">Assignment</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#Comparison">Comparison</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#StringSearching">String Searching</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#RegularExpressions">Regular Expressions</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#StringManipulation">String Manipulation</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#StringOperations">String Operations</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#Files">Files</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#ControlFlow">Control Flow</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#EnvironmentVariables">Environment Variables</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#Keyboardandmouse">Keyboard and mouse</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#DynamicVariables">Dynamic Variables</a></li><li><a href="http://www.autohotkey.net/~Rseding91/Benchmarks/Desktop/Benchmarks%20v1.1.05.06%20x86%20Unicode.html#SystemInformation">System Information</a></li></ul><h2 id="ControlGroup">Control Group</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Blank Run</td><td><pre>(None)</pre></td><td>0.000413</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="Assignment">Assignment</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Classic</td><td><pre>Variable = Lorem ipsum dolor sit amet</pre></td><td>0.000557</td></tr><tr><td>Classic with variable</td><td><pre>Variable = Lorem ipsum %OtherVariable% dolor sit amet</pre></td><td>0.000623</td></tr><tr class="alt"><td>Expression</td><td><pre>Variable := "Lorem ipsum dolor sit amet"</pre></td><td>0.000754</td></tr><tr><td>Expression with variable</td><td><pre>Variable := "Lorem ipsum" . OtherVariable . " dolor sit amet"</pre></td><td>0.000935</td></tr><tr class="alt"><td>Expression explicit concatenation</td><td><pre>Variable := "Lorem ipsum" . " dolor sit amet"</pre></td><td>0.000883</td></tr><tr><td>Expression implicit concatenation</td><td><pre>Variable := "Lorem ipsum" " dolor sit amet"</pre></td><td>0.000918</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="Comparison">Comparison</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Classic If statement</td><td><pre>If Variable = abcdef
  4. Return</pre></td><td>0.000834</td></tr><tr><td>Expression If statement</td><td><pre>If (Variable = "abcdef")
  5. Return</pre></td><td>0.000933</td></tr><tr class="alt"><td>List comparison</td><td><pre>If Variable In abcdef
  6. Return</pre></td><td>0.000937</td></tr><tr><td>Ternary</td><td><pre>% (Variable = "abcdef") ? "" : ""</pre></td><td>0.001058</td></tr><tr class="alt"><td>Classic If between</td><td><pre>If Variable Between 123 And 124
  7. Return</pre></td><td>0.001002</td></tr><tr><td>Expression If between</td><td><pre>If (Variable &gt;= 123 &amp;&amp; Variable &lt;= 124)
  8. Return</pre></td><td>0.001207</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="StringSearching">String Searching</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>String search statement</td><td><pre>IfInString, Variable, abcdef
  9. Return</pre></td><td>0.001102</td></tr><tr><td>List search statement</td><td><pre>If Variable Contains abcdef
  10. Return</pre></td><td>0.001176</td></tr><tr class="alt"><td>String get position command</td><td><pre>StringGetPos, Temp1, Variable, abcdef</pre></td><td>0.001292</td></tr><tr><td>In string function</td><td><pre>InStr(Variable,"abcdef")</pre></td><td>0.001289</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="RegularExpressions">Regular Expressions</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Match function</td><td><pre>RegExMatch(Variable,"S)ab.*?.f$")</pre></td><td>0.001453</td></tr><tr><td>Replace function</td><td><pre>RegExReplace(Variable,"S)ab.*?.f$","$0")</pre></td><td>0.001516</td></tr><tr class="alt"><td>Static match</td><td><pre>RegExMatch(Variable,"S)abcdef")</pre></td><td>0.001462</td></tr><tr><td>Static replace</td><td><pre>RegExReplace(Variable,"c","c")</pre></td><td>0.001914</td></tr></tbody></table><p>500,000 iterations each</p><h2 id="StringManipulation">String Manipulation</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Substring function</td><td><pre>SubStr(Variable,2,3)</pre></td><td>0.001441</td></tr><tr><td>String middle command</td><td><pre>StringMid, Temp1, Variable, 2, 3</pre></td><td>0.001596</td></tr><tr class="alt"><td>String trim command</td><td><pre>StringTrimLeft, Temp1, Variable, 1</pre></td><td>0.001541</td></tr><tr><td>String replace command</td><td><pre>StringReplace, Temp1, Variable, c, c, All</pre></td><td>0.001939</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="StringOperations">String Operations</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>String length function</td><td><pre>StrLen(Variable)</pre></td><td>0.001564</td></tr><tr><td>String length command</td><td><pre>StringLen, Temp1, Variable</pre></td><td>0.001575</td></tr><tr class="alt"><td>String split command</td><td><pre>StringSplit, Temp, Variable, c</pre></td><td>0.002082</td></tr><tr><td>Case conversion</td><td><pre>StringUpper, Temp1, Variable</pre></td><td>0.001778</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="Files">Files</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>File attributes and exists function</td><td><pre>FileExist(A_ScriptFullPath)</pre></td><td>0.019263</td></tr><tr><td>If file exists</td><td><pre>IfExist, %A_ScriptFullPath%
  11. Return</pre></td><td>0.017952</td></tr><tr class="alt"><td>Get size</td><td><pre>FileGetSize, Temp1,%A_ScriptFullPath%</pre></td><td>0.026075</td></tr><tr><td>Read file</td><td><pre>FileRead, Temp1, *m100 %A_ScriptFullPath%</pre></td><td>0.040066</td></tr><tr class="alt"><td>Read file line</td><td><pre>FileReadLine, Temp1, %A_ScriptFullPath%, 2</pre></td><td>0.040645</td></tr><tr><td>Append to file</td><td><pre>FileAppend, c, %A_Temp%\Temp.txt</pre></td><td>0.786217</td></tr><tr class="alt"><td>Copy file</td><td><pre>FileCopy, %A_Temp%\Temp.txt, %A_Temp%\Temp1.txt, 1</pre></td><td>0.349792</td></tr><tr><td>Move file</td><td><pre>FileMove, %A_Temp%\Temp.txt, %A_Temp%\Temp.txt, 1</pre></td><td>0.216756</td></tr><tr class="alt"><td>Filesystem loop</td><td><pre>Loop, %A_ScriptFullPath%
  12. Return</pre></td><td>0.027141</td></tr><tr><td>File reading loop</td><td><pre>Loop, Read, %A_ScriptFullPath%
  13. Return</pre></td><td>0.039999</td></tr></tbody></table><p>5,000 iterations each</p><h2 id="ControlFlow">Control Flow</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Normal loop</td><td><pre>Loop, 1
  14. {
  15. }</pre></td><td>0.002012</td></tr><tr><td>While loop</td><td><pre>While, (A_Index = 1)
  16. {
  17. }</pre></td><td>0.002181</td></tr><tr class="alt"><td>Parsing loop</td><td><pre>Loop, Parse, Variable, ,
  18. {
  19. }</pre></td><td>0.002288</td></tr><tr><td>Blank subroutine call</td><td><pre>Gosub, BlankLabel</pre></td><td>0.002104</td></tr><tr class="alt"><td>Blank function call</td><td><pre>BlankFunction()</pre></td><td>0.002170</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="EnvironmentVariables">Environment Variables</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Set environment variable</td><td><pre>EnvSet, EnvVar, abcdeg</pre></td><td>0.004068</td></tr><tr><td>Get environment variable</td><td><pre>EnvGet, Temp1, EnvVar</pre></td><td>0.002338</td></tr></tbody></table><p>500,000 iterations each</p><h2 id="Keyboardandmouse">Keyboard and mouse</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Get mouse position</td><td><pre>MouseGetPos, Temp1, Temp2</pre></td><td>0.002928</td></tr><tr><td>Move mouse</td><td><pre>MouseMove, 0, 0, 0, R</pre></td><td>0.022701</td></tr></tbody></table><p>10,000 iterations each</p><h2 id="DynamicVariables">Dynamic Variables</h2><table><tbody><tr><th>Benchmark</th><th>Code</th><th>Average time per run (ms)</th></tr><tr class="alt"><td>Dynamic variable access</td><td><pre>% %Variable%</pre></td><td>0.002465</td></tr><tr><td>Dynamic variable assignment</td><td><pre>%Variable% = abcdeg</pre></td><td>0.002347</td></tr></tbody></table><p>1,000,000 iterations each</p><h2 id="SystemInformation">System Information</h2><table><tbody><tr><th>Field</th><th>Value</th></tr><tr class="alt"><td>AutoHotkey Version</td><td>AutoHotkey v1.1.05.06 Unicode (x86)</td></tr><tr><td>OS Name</td><td>Microsoft Windows 7 Professional </td></tr><tr class="alt"><td>OS Version</td><td>6.1.7601 Service Pack 1 Build 7601</td></tr><tr><td>OS Configuration</td><td>Standalone Workstation</td></tr><tr class="alt"><td>OS Build Type</td><td>Multiprocessor Free</td></tr><tr><td>System Manufacturer</td><td>Gigabyte Technology Co., Ltd.</td></tr><tr class="alt"><td>System Model</td><td>P55-USB3</td></tr><tr><td>System Type</td><td>x64-based PC</td></tr><tr class="alt"><td>Processor(s)</td><td>1 Processor(s) Installed.,[01]: Intel64 Family 6 Model 30 Stepping 5 GenuineIntel ~2798 Mhz</td></tr><tr><td>BIOS Version</td><td>Award Software International, Inc. F9, 11/1/2010</td></tr><tr class="alt"><td>Total Physical Memory</td><td>16,375 MB</td></tr><tr><td>Available Physical Memory</td><td>12,970 MB</td></tr><tr class="alt"><td>Virtual Memory: Max Size</td><td>40,923 MB</td></tr><tr><td>Virtual Memory: Available</td><td>36,886 MB</td></tr></tbody></table></body></html>