欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于as3性能的有关问题 flex

更新时间: 2014-01-05 01:58:23 责任编辑: Author_N1

 

关于as3性能的问题 Flex
我最近做了一个测试,发现Flex(as3)的计算性能特别差(比java慢了几乎几百倍)。但是,为什么Web视频媒体上Flex却表现不错?求高手讲解讲解!
试验一、1到1亿的求和:
java代码:

      public static void main(String[] arg)
{
 long begin=new Date().getTime();
 int result=0;
 for(int i=0;i<=100000000;i++)
 {
 result+=1;
 }
 long end=new Date().getTime();
 System.out.println("用时:"+(end-begin));
}


Flex as3代码:

protected function button1_clickHandler(event:MouseEvent):void
{
var t1:Number=getTimer();
var count:int=0;
for(var i:int=0;i<100000000;i++)
{
count+=1;
}
var t2:Number=getTimer();
var result:Number=t2-t1;
trace("用时:"+result.toString());
}



试验结果:
 java耗时:90ms
 AS3耗时:8100ms

试验二、A函数调用B函数。其中B函数不做任何操作。

java代码:

      private void test()
{
 long begin=new Date().getTime();
 int i=100000000;
 while(i>0)
 {
 func();
 i--;
 }
 long end=new Date().getTime();
 System.out.println("用时:"+(end-begin));
}
private void func()
{

}

Flex as3 代码:

          protected function button2_clickHandler(event:MouseEvent):void
{
var t1:Number=getTimer();
var i:int=100000000;
while(i>0)
 {
 func();
 i--;
 }
 var t2:Number=getTimer();
 var result:Number=t2-t1;
 trace("用时:"+result.toString());

}

private function func():void
{

}

试验结果:
java耗时:44ms
Flex耗时:30200ms
--参考方法--
貌似因为AS代码是纯解释执行的,而JAVA代码是编译成IL后运行的,之所以AS视频流畅,是因为使用了硬件加速而非纯CPU执行.
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:58:23
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/3882/
本文WWW.DOC100.NET DOC100.NET版权所有。