PageRenderTime 42ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/Benchmarks v1.0.95.00.html

http://github.com/Uberi/AHK-Benchmarks
HTML | 20 lines | 17 code | 3 blank | 0 comment | 0 complexity | 785f0493f50a60ec0e492ab0a78fe1ee MD5 | raw file
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><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="#ControlGroup">Control Group</a></li><li><a href="#Assignment">Assignment</a></li><li><a href="#Comparison">Comparison</a></li><li><a href="#StringSearching">String Searching</a></li><li><a href="#RegularExpressions">Regular Expressions</a></li><li><a href="#StringManipulation">String Manipulation</a></li><li><a href="#StringOperations">String Operations</a></li><li><a href="#Files">Files</a></li><li><a href="#ControlFlow">Control Flow</a></li><li><a href="#EnvironmentVariables">Environment Variables</a></li><li><a href="#Keyboardandmouse">Keyboard and mouse</a></li><li><a href="#DynamicVariables">Dynamic Variables</a></li><li><a href="#SystemInformation">System Information</a></li></ul><h2 id="ControlGroup">Control Group</h2><table><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.001087</td></tr></table><p>1,000,000 iterations each</p><h2 id="Assignment">Assignment</h2><table><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.001364</td></tr><tr><td>Classic with variable</td><td><pre>Variable = Lorem ipsum %OtherVariable% dolor sit amet</pre></td><td>0.001633</td></tr><tr class="alt"><td>Expression</td><td><pre>Variable := &quot;Lorem ipsum dolor sit amet&quot;</pre></td><td>0.001841</td></tr><tr><td>Expression with variable</td><td><pre>Variable := &quot;Lorem ipsum&quot; . OtherVariable . &quot; dolor sit amet&quot;</pre></td><td>0.002050</td></tr></table><p>1,000,000 iterations each</p><h2 id="Comparison">Comparison</h2><table><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
  2. Return</pre></td><td>0.001950</td></tr><tr><td>Expression If statement</td><td><pre>If (Variable = &quot;abcdef&quot;)
  3. Return</pre></td><td>0.001947</td></tr><tr class="alt"><td>List comparison</td><td><pre>If Variable In abcdef
  4. Return</pre></td><td>0.001718</td></tr><tr><td>Ternary</td><td><pre>% (Variable = &quot;abcdef&quot;) ? &quot;&quot; : &quot;&quot;</pre></td><td>0.002108</td></tr><tr class="alt"><td>Classic If between</td><td><pre>If Variable Between 123 And 124
  5. Return</pre></td><td>0.002544</td></tr><tr><td>Expression If between</td><td><pre>If (Variable &gt;= 123 &amp;&amp; Variable &lt;= 124)
  6. Return</pre></td><td>0.002609</td></tr></table><p>1,000,000 iterations each</p><h2 id="StringSearching">String Searching</h2><table><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
  7. Return</pre></td><td>0.002327</td></tr><tr><td>List search statement</td><td><pre>If Variable Contains abcdef
  8. Return</pre></td><td>0.002782</td></tr><tr class="alt"><td>String get position command</td><td><pre>StringGetPos, Temp1, Variable, abcdef</pre></td><td>0.003630</td></tr><tr><td>In string function</td><td><pre>InStr(Variable,&quot;abcdef&quot;)</pre></td><td>0.003394</td></tr></table><p>1,000,000 iterations each</p><h2 id="RegularExpressions">Regular Expressions</h2><table><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,&quot;S)ab.*?.f$&quot;)</pre></td><td>0.006222</td></tr><tr><td>Replace function</td><td><pre>RegExReplace(Variable,&quot;S)ab.*?.f$&quot;,&quot;$0&quot;)</pre></td><td>0.007211</td></tr></table><p>500,000 iterations each</p><h2 id="StringManipulation">String Manipulation</h2><table><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.002878</td></tr><tr><td>String middle command</td><td><pre>StringMid, Temp1, Variable, 2, 3</pre></td><td>0.003375</td></tr><tr class="alt"><td>String trim command</td><td><pre>StringTrimLeft, Temp1, Variable, 1</pre></td><td>0.002936</td></tr><tr><td>String replace command</td><td><pre>StringReplace, Temp1, Variable, c, c, All</pre></td><td>0.003810</td></tr></table><p>1,000,000 iterations each</p><h2 id="StringOperations">String Operations</h2><table><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.003943</td></tr><tr><td>String length command</td><td><pre>StringLen, Temp1, Variable</pre></td><td>0.003787</td></tr><tr class="alt"><td>String split command</td><td><pre>StringSplit, Temp, Variable, c</pre></td><td>0.004963</td></tr><tr><td>Case conversion</td><td><pre>StringUpper, Temp1, Variable</pre></td><td>0.003855</td></tr></table><p>1,000,000 iterations each</p><h2 id="Files">Files</h2><table><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.093950</td></tr><tr><td>If file exists</td><td><pre>IfExist, %A_ScriptFullPath%
  9. Return</pre></td><td>0.105791</td></tr><tr class="alt"><td>Get size</td><td><pre>FileGetSize, Temp1,%A_ScriptFullPath%</pre></td><td>0.118361</td></tr><tr><td>Read file</td><td><pre>FileRead, Temp1, *m100 %A_ScriptFullPath%</pre></td><td>0.167899</td></tr><tr class="alt"><td>Read file line</td><td><pre>FileReadLine, Temp1, %A_ScriptFullPath%, 2</pre></td><td>0.165324</td></tr><tr><td>Append to file</td><td><pre>FileAppend, c, %A_Temp%\Temp.txt</pre></td><td>0.758998</td></tr><tr class="alt"><td>Copy file</td><td><pre>FileCopy, %A_Temp%\Temp.txt, %A_Temp%\Temp1.txt, 1</pre></td><td>1.566906</td></tr><tr><td>Move file</td><td><pre>FileMove, %A_Temp%\Temp.txt, %A_Temp%\Temp.txt, 1</pre></td><td>1.477577</td></tr><tr class="alt"><td>Filesystem loop</td><td><pre>Loop, %A_ScriptFullPath%
  10. Return</pre></td><td>0.137373</td></tr><tr><td>File reading loop</td><td><pre>Loop, Read, %A_ScriptFullPath%
  11. Return</pre></td><td>0.144396</td></tr></table><p>5,000 iterations each</p><h2 id="ControlFlow">Control Flow</h2><table><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
  12. {
  13. }</pre></td><td>0.004739</td></tr><tr><td>While loop</td><td><pre>While, (A_Index = 1)
  14. {
  15. }</pre></td><td>0.004781</td></tr><tr class="alt"><td>Parsing loop</td><td><pre>Loop, Parse, Variable, ,
  16. {
  17. } Return</pre></td><td>0.006666</td></tr><tr><td>Blank subroutine call</td><td><pre>Gosub, BlankLabel</pre></td><td>0.004600</td></tr><tr class="alt"><td>Blank function call</td><td><pre>BlankFunction()</pre></td><td>0.005466</td></tr></table><p>1,000,000 iterations each</p><h2 id="EnvironmentVariables">Environment Variables</h2><table><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.008376</td></tr><tr><td>Get environment variable</td><td><pre>EnvGet, Temp1, EnvVar</pre></td><td>0.006029</td></tr></table><p>500,000 iterations each</p><h2 id="Keyboardandmouse">Keyboard and mouse</h2><table><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.010096</td></tr><tr><td>Move mouse</td><td><pre>MouseMove, 0, 0, 0, R</pre></td><td>0.062577</td></tr></table><p>5,000 iterations each</p><h2 id="DynamicVariables">Dynamic Variables</h2><table><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.006276</td></tr><tr><td>Dynamic variable assignment</td><td><pre>%Variable% = abcdeg</pre></td><td>0.006069</td></tr></table><p>1000000 iterations each</p><h2 id="SystemInformation">System Information</h2><table><tr><th>Field</th><th>Value</th></tr><tr class="alt"><td>AutoHotkey Version</td><td>AutoHotkey v1.0.95.00 Unicode (x86)</td></tr><tr><td>OS Name</td><td>Microsoft Windows 7 Enterprise </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>Dell Inc.</td></tr><tr class="alt"><td>System Model</td><td>Latitude D620 </td></tr><tr><td>System Type</td><td>X86-based PC</td></tr><tr class="alt"><td>Processor(s)</td><td>1 Processor(s) Installed.,[01]: x86 Family 6 Model 14 Stepping 8 GenuineIntel ~1319 Mhz</td></tr><tr><td>BIOS Version</td><td>Dell Inc. A04, 8/28/2006</td></tr><tr class="alt"><td>Total Physical Memory</td><td>3,062 MB</td></tr><tr><td>Available Physical Memory</td><td>1,496 MB</td></tr><tr class="alt"><td>Virtual Memory: Max Size</td><td>6,123 MB</td></tr><tr><td>Virtual Memory: Available</td><td>4,334 MB</td></tr></table></body></html>