abs test
結論:関数呼び出しは重い
♥0 |
Line 51 |
Modified 2011-05-02 02:54:48 |
MIT License
archived:2017-03-20 16:27:03
ActionScript3 source code
/**
* Copyright cpu_t ( http://wonderfl.net/user/cpu_t )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xG4N
*/
package {
import flash.text.TextField;
import flash.display.Sprite;
import flash.utils.getTimer;
public class FlashTest extends Sprite {
private const LOOP_NUM:Number = 1000000;
public function FlashTest() {
// write as3 code here..
var tf:TextField = new TextField();
addChild(tf);
tf.width = stage.stageWidth;
tf.height = stage.stageHeight;
var i:int; var n:Number; var start:Number;
var test:Array = [];
for(i = 0; i < LOOP_NUM; i++)
{
n = (Math.random() - 0.5) * 20000;
test[i] = n;
}
trace("Math.abs");
start = getTimer();
for(i = 0; i < LOOP_NUM; i++)
{
Math.abs(test[i]);
}
trace(getTimer() - start, "ms");
trace("");
trace("n < 0 ? -n : n");
start = getTimer();
for(i= 0; i < LOOP_NUM; i++)
{
test[i] < 0 ? -test[i] : test[i];
}
trace(getTimer() - start, "ms");
trace("");
trace("myAbs");
start = getTimer();
for(i = 0; i < LOOP_NUM; i++)
{
myAbs(test[i]);
}
trace(getTimer() - start, "ms");
trace("");
function trace(...rest):void {
tf.appendText(rest.join(" ") + "\n");
}
function myAbs(n:Number):Number {
return n < 0 ? -n : n;
}
}
}
}