我有一个带有 PIC S9(4) 的变量。我在这里使用 COMP 还是 COMP-3?

I have a variable with PIC S9(4). Whether I use COMP or COMP-3 here?

我知道 COMP 需要 2 个字节,而 COMP-3 需要 3 个字节。 该字段将进行大量计算。我应该在这里使用什么?

该字段仅涉及加法和减法,另外还有三十个PIC S9(4)变量,为此我还需要确定需要使用的用法子句。

其中大部分取决于平台。作为一般规则,二进制补码 "comp" 会更快一些,而压缩十进制的 "comp-3" 将在内存或 DASD 上以十进制形式被人类阅读,人类更容易使用。

但这些规则是在单流水线处理器速度非常慢的时代制定的。试图根据性能做出决定还为时过早。特别是对于只有三十个字段。在今天的硬件上,使用今天的编译器,使用缓存和推测执行,您可能不会注意到任何差异。

如果你真的很在意它,写两个小的测试程序,用你想要的计算和定义的字段,然后在你想要的硬件上做一个比较性能测试。我的预测是您会发现完全没有区别。

但大多数情况下,只是为了准确性而写,然后再进行调整。在 I/O.

的上下文中,您不太可能会注意到非常快的 add/subtract 操作