作者sdallan ()
看板java
标题[问题] 请益关於android在运算上的效能
时间Sat Nov 6 11:50:40 2010
情况是这样的。 小弟的专题测试在android的手机上,
以下这段code 执行时间竟然要九秒...在同样的情况下,
於pc上测的话约 0.04~0.06秒左右。 怎麽差这麽多...
虽然两个测试环境的差距明显。不过我们目前在想办法要在
手机上的计算效率再提高。碍於学识不足,我实在是不知道哪里还
可以再提升,特来版上求解。
这段code的用意在於,要将一个int阵列每个值,与2个bit做 AND。
因为bit数有128个,找不到更好的资料型态去装他了。
以下这段在测试上,总共会执行4800次。
int [] iArray = int [64];
String binaryString = "010101001011001010..."; //长度为128
//依阵列的长度
for ( int i = 0 ; i < iArray.length ; i++ ){
//把值做or後再and
iArray[i] = ( iArray[i] & 3 ) |
//转成2进制的数值
Integer.parseInt(
//一次切2个bit出来
binaryString.substring((0+LSB*i), (2+LSB*i)),2
)
}
谢谢您耐心的看完他了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.72.91