百万级的浮点数 Float.parseFloat 解析文本文件载入。测试硬件是高通810,十多分钟也跑不完。
主要耗时在 Float.parseFloat 函数,有什么办法可以加快载入速度?
或者是用什么格式可以使java载入速度加快?
1
gamexg OP 还是x86性能牛啊。
x86 python耗时: >>> from timeit import Timer >>> t=Timer("""float("5466.1299") ""","") >>> t.timeit(100000) 0.03412444956302352 高通810 android 耗时: for(int i =0; i<100000;i++) { Float.valueOf("5466.1299"); } 耗时:22443毫秒 |
2
ivmm 2015-06-30 14:12:01 +08:00
放冰箱冷藏里。降温,频率就不会自动降了。
|
6
sumhat 2015-06-30 14:44:09 +08:00 1
用 Protobuf
|
7
gamexg OP 刚刚测试了 ObjectInputStream.readFloat ,纯内存 100000 次耗时10494毫秒,比Float.valueOf快一倍,但是也是悲剧的性能。
|
8
VYSE 2015-06-30 15:37:00 +08:00 1
直接jni吧
|
9
Clarencep 2015-07-01 09:58:50 +08:00 1
很好奇LZ为什么要在android里面导入这么多浮点数据?为什么会这么多?为什么不换成整型的呢?
|