簡體   English   中英

在 ABAP 中處理二進制數據

[英]Working with binary data in ABAP

我正在嘗試在 ABAP 中實現一些加密函數,但我對二進制字符串操作的低性能感到困惑。

例如,我有一個 X 字符串(不是 XString),我想在循環中逐個字節地讀取它。 我說:

DO n TIMES.
  b = data+offset(1).
...

這有效,但讀取速度約為 1.5 MB/s。 包括按位加法、循環移位和模加法在內的其他操作也運行緩慢。

結果,與 C/C++ 中的約 100 MB/s 相比,我在 ABAP 中獲得了大約 600 KB/s 的散列速度。

我懷疑 ABAP 是否適合處理二進制數據。 也許還有另一種慣用的方式來處理二進制數據; 或者除了將加密函數提取到 C# 或 Java 服務之外別無他法?

正如所建議的那樣,ABAP 不一定是實現系統類型功能的最佳方式,這不僅是出於性能原因,還因為有時在 ABAP 中處理某些數據類型可能非常笨拙。

也許您可以在 C 中實現您的加密函數,然后通過 RFC 從 ABAP 連接到它們,您的 C 應用程序充當 RFC 服務器,您通過 RFC 調用從 ABAP 調用它。 您可以在此處找到有關安裝 NetWeaver RFC SDK 以及在此處編寫 RFC 服務器的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM