Performance Comparision of various field access methods
♥0 |
Line 43 |
Modified 2011-11-22 23:49:51 |
MIT License
archived:2017-03-20 08:26:39
ActionScript3 source code
/**
* Copyright leichtgewicht ( http://wonderfl.net/user/leichtgewicht )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/saNA
*/
package {
import flash.utils.getTimer;
import flash.text.TextField;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var t: TextField;
public function FlashTest() {
addChild( t = new TextField() );
var setter: Test = new Test();
var inter: ITest = new Test();
var publ: Test = new Test();
var time: Number;
var i: int;
const c: int = 10000000;
time = getTimer();
for( i = 0; i<c; ++i ) {
setter.simple= "hi";
}
t.appendText((getTimer()-time)+"ms for using a setter\n");
time = getTimer();
for( i = 0; i<c; ++i ) {
inter.simple= "hi";
}
t.appendText((getTimer()-time)+"ms for using a interface\n");
time = getTimer();
for( i = 0; i<c; ++i ) {
publ._simple= "hi";
}
t.appendText((getTimer()-time)+"ms for using a non function access\n");
t.width = stage.stageWidth;
t.height = stage.stageHeight;
}
}
}
class Test implements ITest {
public var _simple: String;
public function set simple(simple:String):void {
_simple = simple;
}
}
interface ITest {
function set simple(test:String):void;
}