我试图在ABAP中实现一些加密功能,而且我对二进制字符串的低性能操作感到困惑。
例如,我有一个X(不是XString)字符串,我想在循环中逐字节读取它。我说:
DO n TIMES.
b = data+offset(1).
...
这有效,但读取速度约为1.5 MB / s。包括逐位加法,循环移位和模块化加法在内的另一项操作也很慢。
结果,我在ABAP中获得了大约600 KB / s的散列速度,相比之下,C / C ++中的散列速度大约为100 MB / s。
我怀疑ABAP适合处理二进制数据。也许有另一种惯用的方法来处理二进制数据;或者除了将加密功能提取到C#或Java服务中之外别无他法?