#include <String.au3>

Global Const $aN = [1e1, 1e2, 1e3, 1e4, 1e5]
Global $iT, $f_Overhead

Global $sMeasureFormat = "%12.6f  ms", $dFormLen = StringLen(StringFormat($sMeasureFormat, 0))
Global $sHeader = StringFormat("\n% 10s\t% " & $dFormLen & "s\t% " & $dFormLen & "s\n", "N", "$mMap[$i] = 5", "$aArray[$i] = 5")
ConsoleWrite($sHeader & _StringRepeat("-", 48))

For $N In $aN
	ConsoleWrite(StringFormat("\n% 10d", $N))

	Global $mMap[], $aArray[$N + 1], $vRand, $vTmp

	; determine the overhead of loop [and optional other stuff]
	$iT = TimerInit()
	For $i = 1 To $N
	Next
	$f_Overhead = TimerDiff($iT)

	; Zuweisung an Map-Element
	$iT = TimerInit()
	For $i = 1 To $N
		$mMap[$i] = 5
	Next
	$iT = TimerDiff($iT)
	ConsoleWrite(StringFormat("\t" & $sMeasureFormat, ($iT - $f_Overhead) / $N))

	; Zuweisung an Array-Element
	$iT = TimerInit()
	For $i = 1 To $N
		$aArray[$i] = 5
	Next
	$iT = TimerDiff($iT)
	ConsoleWrite(StringFormat("\t" & $sMeasureFormat, ($iT - $f_Overhead) / $N))
Next
ConsoleWrite(@CRLF & @CRLF)
