本测试以flasCC里面自带demo05为例修改而成,可自由扩展成其他用途。 (注:FlasCC的安装配置可参考我写的安装指南) 1.在资源管理器中直进入FlasCC_1.0.0\samples\05_SWC文件夹。 2.修改c++文件as3api.cpp(此文件附在附件中),添加一个累加方法。 3.运行run.bat启动命令主界面,执行脚本cd 05_SWC跳转到demo文件夹。 4.执行编译命名: make FLASCC=/cygdrive/c/flascc/sdk FLEX=/cygdrive/c/flex_sdk/4.6 (具体参数配置可参考我写的安装指南) 5.编译完成后,在资源管理器进入05_SWC文件夹把生成的MurmurHash.swc拷贝出来 6.在FB里面新建ActionScript工程(此工程附在附件中),建立libs库文件夹,把MurmurHash.swc拷贝进去。 7.在主类编写测试代码,as3的计算逻辑和c的一模一样。 8.在主构造函数里分别调用as3和c++计算方法。 9.运行程序对比效率 我的电脑运行结果: ----------------------------------------------- 执行累加计算从0加到10000000 as 运行时间:820 ms c++ 运行时间:66 ms ----------------------------------------------- FCC_T1.rar Ps: 根据Gomo_Psivarh兄弟的提示,测试了一个整形循环运算。(注:观几位高人评论,此算法确实太过简单,没有什么借鉴意义,而且编译时开启了编译器优化,也许复杂的算法就没这么好了的优化效果了,待测试再来反馈结果) 关键代码: ----------------------------------------------- --- 执行100000000次加法运算(浮点型) --- as 运行时间:8666 ms c++ 运行时间:492 ms 结果是否相等: true --- 执行100000000次加法运算(整型) as 运行时间:8647 ms c++ 运行时间:0 ms 结果是否相等: true ----------------------------------------------- |
[心得] 用FlasCC编译c++代码为SWC执行效率测试
最新推荐文章于 2018-07-05 11:43:22 发布