CPYTOIMPF到qtemp比其他库快吗?

时间:2009-12-07 09:00:27

标签: ibm-midrange

我是IBM AS400 V5R4的程序员。我创建了两个CL程序,它们都使用CPYTOIMPF格式化AS400 PF列表到字符分隔文件。它们之间的区别在于:一个将文件格式化为qtemp(PGM A),而另一个将文件格式化为qtemp(PGM B)以外的库。

我分别调用了2个程序来格式化大约90个文件,总共大约有800万个记录。两个程序占用的CPU时间超过1300秒,而PGM A的使用时间比PGM B少约5%。我已经尝试了几次,结果相似。

我是否知道为什么CPYTOIMPF到qtemp比复制到其他库更快,虽然只是有点不同?

5 个答案:

答案 0 :(得分:2)

QTEMP及其内容不需要在作业的生命周期内存活,因此可以优化不将内容提交到磁盘或不经常这样做,并且可能不需要为对象创建文件系统事务之所以发生变化,因为如果系统出现故障,QTEMP就会被打乱。

此外,QTEMP无需担心安全解决方案和对象控制,因为它对作业是私有的。

这些和类似的东西可以使访问QTEMP所需的工作量少于普通的持久性库。

答案 1 :(得分:1)

如果你在这里没有得到答案。尝试将其发布到MIDRANGE-L。那里有一个由IBM i(或AS / 400)专家组成的大型社区。有人可能会在那里回答。

答案 2 :(得分:1)

QTEMP始终位于iSeries作业的库列表中(具有正常配置的iSeries)。你有没有做过 - 有意思! - 试验一下库列表中的库吗?

我不知道usrlibl的syslibl,curlibl是否具有任何重要性。

答案 3 :(得分:0)

有趣的实验。

在QTEMP或其他库中创建输出文件时,您是否在CRTPF命令中使用SIZE atttribute?我怀疑在QTEMP中扩展文件比在其他库中更快。将SIZE属性中的记录数设置为输入文件中的记录数可能会消除性能差异,因为不再需要扩展文件。

答案 4 :(得分:0)

QTEMP中,通常只需使用CRTFILE(*YES)

创建文件

差异可能只是在重新创建文件之前删除文件的时间,或者清除文件的时间更长:MBROPT(*REPLACE)