免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3696 | 回复: 9
打印 上一主题 下一主题

请教提高程序性能(缩短运行时间)的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-06 15:40 |只看该作者 |倒序浏览
最近作了一个程序,需要一次性做成8个DB,总数据量大约是700万左右,因为需要运行很久,想优化一下性能。
1,程序中能用逻辑文件的地方都是逻辑文件
2,尽量减少同一个表多次读取的处理
3,减少调用其它程序的次数(从8次减为4次,但是效果不明显)

想知道下面什么处理是最费时间的:
1,读表
2,清除记录内容
3,写表
4,调用其它程序
5,其他(请写明)

谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-07-06 18:10 |只看该作者
我认为最主要的是逻辑文件的编写和程序的算法(特别是读纪录时的算法)。逻辑文件要注意select和omit的使用

论坛徽章:
0
3 [报告]
发表于 2007-07-07 16:12 |只看该作者
想知道如果是最简单的读取操作(读一条数据,直接写入DB),在AS400上一分钟一般会执行多少条数据?我测试的是一分钟15000条左右

论坛徽章:
0
4 [报告]
发表于 2007-07-08 09:48 |只看该作者
什么机器配置?

论坛徽章:
0
5 [报告]
发表于 2007-07-08 14:24 |只看该作者
我们是直接连日本客户的400,那边的配置我也不是很清楚,至少不会很差:wink: ,因为是远程访问,还要考虑网络的影响。

论坛徽章:
0
6 [报告]
发表于 2007-07-08 19:38 |只看该作者
使用USROPN方式打开文件,打开文件最费时间

论坛徽章:
0
7 [报告]
发表于 2007-07-08 21:44 |只看该作者
1.调整性能方面来说, 程序本身最重要。程序代码一定的时候, 要调整性能是很难的。
2.分清是全表数据处理还是部分数据处理。 如果是全表数据处理,那么就用pf, 如果是部分数据处理。(少于一半数据),那么就用lf。
3.在处理数据的时候,index的选择很重要。 尽量用pf和lf定义的。 如果没有对应的, 那么要生成lf或者pf以提高速度。
就数据处理速度问题, 费时间的io,所以要尽量减少io的处理。还有要提高速度,可以用块读写。

不知道这样的解释,对你的程序有没有帮助。

论坛徽章:
0
8 [报告]
发表于 2007-07-10 23:14 |只看该作者
程序是用哪种代码写的? COBOL/RPGLE?

如果是RPGLE的倒是可以将文件用BLOCk的方法来读写加速的。

在F表定义文件时多写了BLOCK(*YES)就会有效果,

还有就是程序中少用游标。

论坛徽章:
0
9 [报告]
发表于 2007-07-11 08:33 |只看该作者
BLOCK(*YES)只能用于顺序读取的文件,不能使用chain、reade等操作。如果不用这些操作,使用BLOCK(*YES)倒是能提高一些速度。

论坛徽章:
0
10 [报告]
发表于 2007-07-11 12:08 |只看该作者
如果有兴趣,就看看如何在RPG程序使用BLOCK关键词提高读写文件速度。。。

http://blog.chinaunix.net/u/646/showart_45582.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP