forked from: forked from: flash on 2011-2-25
/**
* Copyright pleclech ( http://wonderfl.net/user/pleclech )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xdqv
*/
// forked from pleclech's forked from: flash on 2011-2-25
// forked from pleclech's flash on 2011-2-25
package {
import flash.utils.getTimer;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
if (stage) _init()
else addEventListener(Event.ADDED_TO_STAGE, _init)
}
import flash.text.TextField;
import flash.events.Event;
private var tf:TextField=new TextField()
private function trace(...args):void{
tf.appendText(args.join(", ")+"\n")
}
private function _init(e:Event=null):void {
removeEventListener(Event.ADDED_TO_STAGE, _init)
addChild(tf)
tf.autoSize="left"
tf.background=true
const loop:int=10000000
test1(loop)
test2(loop)
test3(loop)
test4(loop)
test5(loop)
test6(loop)
}
private function test1(loop:int):void{
var t:int=getTimer()
for (var i:int=0;i<loop;++i){
var n:Number=Number(Math.random()<0.5)?-1.0:1.0
}
t=getTimer()-t
trace("test1[Number(Math.random()<0.5)?-1.0:1.0]: "+t)
}
private function test2(loop:int):void{
var t:int=getTimer()
for (var i:int=0;i<loop;++i){
var n:Number=2.0*Number(Math.random()>=0.5)-1.0
}
t=getTimer()-t
trace("test2[2.0*Number(Math.random()>=0.5)-1.0]: "+t)
}
private function test3(loop:int):void{
var t:int=getTimer()
for (var i:int=0;i<loop;++i){
var n:Number=(int(Math.random()>=0.5)<<1)-1.0
}
t=getTimer()-t
trace("test3[(int(Math.random()>=0.5)<<1)-1.0]: "+t)
}
private function test4(loop:int):void{
var t:int=getTimer()
for (var i:int=0;i<loop;++i){
var n:Number=Math.round(Math.random())*2-1;
}
t=getTimer()-t
trace("test4[Math.round(Math.random())*2-1]: "+t)
}
private function test5(loop:int):void{
var t:int=getTimer()
for (var i:int=0;i<loop;++i) {
var ii:int=int(Math.random()>=0.5)<<1
ii--
}
t=getTimer()-t
trace("test5[(int(Math.random()>=0.5)<<1)-1]: "+t)
}
private function test6(loop:int):void{
var t:int=getTimer()
for (var i:int=0;i<loop;++i) {
var n:int = ((Math.random()*4)&2)-1;
}
t=getTimer()-t
trace("test6[((Math.random()*4)&2)-1;]: "+t)
}
}
}