COBOL-执行para1至para1出口VS执行para1至para1

时间:2018-06-28 01:48:12

标签: performance cobol

我想知道哪种更有效PERFORM PARA1.PERFORM PARA1 THRU PARA1-EXIT.

PARA1.

    XXXXXX.

PARA1-EXIT.
    EXIT.

2 个答案:

答案 0 :(得分:3)

大概对于PARA1-EXIT,它后面的代码不是真正的可执行代码。 (即,它类似于EXIT或CONTINUE。)而且,大概没有其他控制流到PARA1-EXIT(类似的PERFORM语句除外。)鉴于此,使用IBM Enterprise COBOL可以以任何一种方式进行编码并获得相同的性能。 。因此,您应该根据本地编码标准或清晰度对它进行编码。

答案 1 :(得分:2)

根据PERFORM THRU的工作原理,您的第一个示例确实没有任何意义。

PERFORM X将执行段落X,而PERFORM X THRU Z将执行X和Z之间的所有内容。因此,如果我有以下内容

PERFORM X000 THRU Z000

X000.
   some code
Y000.
   more code
Z000. 
   even more code

将执行所有3段。因此,从概念上讲PERFORM X THRU X毫无意义。它可能会编译(取决于编译器),但是在一天结束时,似乎您应该只使用PERFORM X。在不完全知道您正在运行的编译器的情况下,我们不能真正确切地说出PERFORM X THRU X会做什么,但是在逻辑上唯一有意义的是它与PERFORM X是同义的。

我之前看到的代码中有PERFORM X THRU X-EXIT,但是X-EXIT仅包含一个EXIT语句。用这种方式对事物进行编码可能有历史原因,但我认为现代COBOL开发中没有任何理由。

强烈建议您不要使用PERFORM THRU,因为如果有人在两段之间添加代码而没有注意到它是PERFORM THRU,则会遇到问题。