Vector.<Number> vs Vector.<Object>
SampleUnit.as
CPU: Pentium4 2.66GHz, Memory: 1GB, Software: Flash CS4 > Test Movie
1. without new Number()
89ms
v[0] = 0
memory used: 84672512K
2. without new SampleUnit()
2ms
v[0] = null
memory used: 21180416K
3. new Number()
1313ms
v[0] = 0
memory used: 84672512K
4. new SampleUnit()
6492ms
v[0] = [object SampleUnit]
memory used: 305664000K
-------------------------------------
A solution of Sound Mixing
http://www.kaourantin.net/2008/10/audio-mixing-with-pixel-bender.html
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
import flash.system.System;
public class SpeedTest extends Sprite {
public function SpeedTest() {
run();
}
public function run():void {
//Store 2 min. Sound Samples(44100)
var t:int;
var i:uint;
var len:uint;
var mem:int = System.totalMemory;
trace("1. without new Number()");
len = 120 * 44100 * 2;
t = getTimer();
var v1:Vector.<Number> = new Vector.<Number>(len, true);
trace(getTimer()-t + "ms");
trace("v[0] = "+ v1[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
trace("\n2. without new SampleUnit()");
len = 120 * 44100;
t = getTimer();
var v2:Vector.<SampleUnit> = new Vector.<SampleUnit>(len, true);
trace(getTimer()-t + "ms");
trace("v[0] = "+ v2[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
trace("\n3. new Number()");
len = 120 * 44100 * 2;
t = getTimer();
var v3:Vector.<Number> = new Vector.<Number>(len, true);
for(i=0; i<len; i++) {
v3[i] = new Number();
}
trace(getTimer()-t + "ms");
trace("v[0] = "+ v3[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
trace("\n4. new SampleUnit()");
len = 120 * 44100;
t = getTimer();
var v4:Vector.<SampleUnit> = new Vector.<SampleUnit>(len, true);
for(i=0; i<len; i++) {
v4[i] = new SampleUnit();
}
trace(getTimer()-t + "ms");
trace("v[0] = "+ v4[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
}
}
}
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
import flash.system.System;
public class SpeedTest extends Sprite {
public function SpeedTest() {
run();
}
public function run():void {
//Store 2 min. Sound Samples(44100)
var t:int;
var i:uint;
var len:uint;
var mem:int = System.totalMemory;
trace("1. without new Number()");
len = 120 * 44100 * 2;
t = getTimer();
var v1:Vector.<Number> = new Vector.<Number>(len, true);
trace(getTimer()-t + "ms");
trace("v[0] = "+ v1[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
trace("\n2. without new SampleUnit()");
len = 120 * 44100;
t = getTimer();
var v2:Vector.<SampleUnit> = new Vector.<SampleUnit>(len, true);
trace(getTimer()-t + "ms");
trace("v[0] = "+ v2[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
trace("\n3. new Number()");
len = 120 * 44100 * 2;
t = getTimer();
var v3:Vector.<Number> = new Vector.<Number>(len, true);
for(i=0; i<len; i++) {
v3[i] = new Number();
}
trace(getTimer()-t + "ms");
trace("v[0] = "+ v3[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
trace("\n4. new SampleUnit()");
len = 120 * 44100;
t = getTimer();
var v4:Vector.<SampleUnit> = new Vector.<SampleUnit>(len, true);
for(i=0; i<len; i++) {
v4[i] = new SampleUnit();
}
trace(getTimer()-t + "ms");
trace("v[0] = "+ v4[0]);
trace("memory used: " + (System.totalMemory - mem) + "K");
mem = System.totalMemory;
}
}
}
SampleUnit.as
package {
public class SampleUnit {
private var left:Number=0;
private var right:Number=0;
public function SampleUnit() {}
}
}
public class SampleUnit {
private var left:Number=0;
private var right:Number=0;
public function SampleUnit() {}
}
}
CPU: Pentium4 2.66GHz, Memory: 1GB, Software: Flash CS4 > Test Movie
1. without new Number()
89ms
v[0] = 0
memory used: 84672512K
2. without new SampleUnit()
2ms
v[0] = null
memory used: 21180416K
3. new Number()
1313ms
v[0] = 0
memory used: 84672512K
4. new SampleUnit()
6492ms
v[0] = [object SampleUnit]
memory used: 305664000K
-------------------------------------
A solution of Sound Mixing
http://www.kaourantin.net/2008/10/audio-mixing-with-pixel-bender.html
BrainF*ck
Sprite Anima

