打开文件读取数组,数组行之间求差保存最大值运算量太大,时间太长如何优化啊?

2019-07-17 10:18发布

打开文件读取数组,运算量太大,时间太长如何优化啊 。 如何诊断耗时提高效率啊
回放.png
流程是从文件读取数据 16位16进制转换成 10进制整数,然后在一维矩阵变成二维,然后再
相邻行互相相减,最终保存差绝对值的最大值(这个在之前的帖子里大侠给解决了)
代码和数据见附件

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
xkzt1352310113
1楼-- · 2019-07-17 10:18
 精彩回答 2  元偷偷看……
kaka2007f2
2楼-- · 2019-07-17 12:06
忘了加代码了 代码如下
问题代码.zip (355.63 KB, 下载次数: 3)
kaka2007f2
3楼-- · 2019-07-17 17:35
来人啊,帮忙看看 ,或者我是不是用时间计算把各部分分割一下 看看问题出在哪?
kaka2007f2
4楼-- · 2019-07-17 18:55
问题有进展了,先用时间测试各个部分的用时,发现是8进制到16进制转换耗时太多77s 。然后改进了几点
1、 减少 红点 强制转换的出现
2、减少循环次数
2.1通过增加并行while 分段并行执行
2.2 一个while 里面也分段执行,借用了之前32位处理器并行处理两个16位的思想 。
目前时间缩减为2s 。 肯定还有别的更好的方法和改进的地方 。
截图如下:
微信图片_20180909194151.png
kaka2007f2
5楼-- · 2019-07-17 19:04
20180910140613932.png

一周热门 更多>