Forked from: alumican_net's Array.RETURNINDEXEDARRAYってどうよ?(Vector.sortも追加した) diff:62 Point.distance [実験] Point.distance alumican_net.. forked:2favorite:4lines:67license : MIT License modified : 2009-07-16 19:35:27 Embed Tweet // [実験] Point.distance package { import flash.display.*; import flash.geom.Point; import flash.text.*; import flash.utils.*; public class Main extends Sprite { public function Main():void { var n:uint = 10000; var points:Array = new Array(n); for(var i:uint = 0; i < n; ++i) { points[i] = new Point( (Math.random() - 0.5) * 1000, (Math.random() - 0.5) * 1000 ); } _setup(); _measure("Point.distance", function ():void { for(var i:uint = 0; i < n - 1; ++i) { Point.distance(points[i], points[i + 1]); } }, 100); var dx:Number, dy:Number, p0:Point, p1:Point; _measure("Math.sqrt(x^2 + y^2)", function ():void { for(var i:uint = 0; i < n - 1; ++i) { p0 = points[i ]; p1 = points[i + 1]; dx = p0.x - p1.x; dy = p0.y - p1.y; Math.sqrt(dx * dx + dy * dy); } }, 100); } private function _measure( title:String, func:Function, numTimes:uint, ...params):void { _time = getTimer(); for (var i:int = 0; i < numTimes; i++) { func.apply(null, params); } _time = getTimer() - _time; _debug("[ " + title + " ] --> " + _time + " ms"); } private function _debug(log:String):void { _field.appendText(log + "\n"); } private var _field:TextField; private var _time:uint; private function _setup():void { _field = new TextField(); _field.width = stage.stageWidth; _field.height = stage.stageHeight; var format:TextFormat = _field.defaultTextFormat; format.font = "_sans"; _field.defaultTextFormat = format; addChild(_field); } } } Code Fullscreen Preview Fullscreen madflash motikawa_rgm.. digitrick tkinjo 速度実験 title Math.log getTimer apply defaultTextFormat Point.distance appendText Math.sqrt font height width Point TextField TextFormat addChild String stageWidth stageHeight Array uint sort new page view favorite forked pv726 Radom Access: Array vs Diction.. alumican_net forked:1 favorite:6lines:96 (diff:63) pv1631 【検証テスト】Array = [ ] vs Array.le.. selflash forked:1 favorite:0lines:66 (diff:122)