Dict/Vec/Arr performance test
Comparing the performance of Dictionary, Array and Vector
♥0 |
Line 62 |
Modified 2012-02-24 13:51:39 |
MIT License
archived:2017-03-20 11:23:15
ActionScript3 source code
/**
* Copyright John_Blackburne ( http://wonderfl.net/user/John_Blackburne )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/yvRe
*/
package {
import flash.display.Sprite;
import flash.utils.*;
import flash.text.TextField;
public class FlashTest extends Sprite {
private var txt:TextField = new TextField();
public final function FlashTest() {
addChild(txt);
// write as3 code here..
var startTime : Number = 0;
var endTime : Number = 0;
var i : int = 0;
var iterations : int =500000;
var dictionary : Dictionary = new Dictionary();
var array : Array = new Array(iterations);
var vector : Vector.<int> = new Vector.<int>(iterations * 2);
var val : int;
var iTmp:int, iStart:int, iEnd:int;
startTime = getTimer();
iEnd = iterations / 2;
iStart = -iEnd;
for (i = iStart; i < iEnd; ++i)
{
dictionary[i] = i;
}
txt.appendText("Dictionary:" + String( getTimer() - startTime));
startTime = getTimer();
for (i = iStart; i < iEnd; ++i)
{
iTmp = (i >= 0) ? 2 * i : -1 - 2 * i;
array[iTmp] = i;
}
txt.appendText("\nArray:" + String( getTimer() - startTime));
startTime = getTimer();
for (i = iStart; i < iEnd; ++i)
{
iTmp = (i >= 0) ? 2 * i : -1 - 2 * i;
vector[iTmp] = i;
}
txt.appendText("\nVector:" + String( getTimer() - startTime));
startTime = getTimer();
for (i = iStart; i < iEnd; ++i)
{
val = dictionary[i];
}
txt.appendText("\nDictionary:" + String( getTimer() - startTime));
startTime = getTimer();
for (i = iStart; i < iEnd; ++i)
{
iTmp = (i >= 0) ? 2 * i : -1 - 2 * i;
val = array[iTmp];
}
txt.appendText("\nArray:"+ String(getTimer() - startTime));
startTime = getTimer();
for (i = iStart; i < iEnd; ++i)
{
iTmp = (i >= 0) ? 2 * i : -1 - 2 * i;
val = vector[iTmp];
}
txt.appendText("\nVector:" + String( getTimer() - startTime));
}
}
}