2011-09-16 41 views

回答

2

爲什麼不只是檢查他們對上一組值的副本?

簡單檢查所有10的努力是線性的,小的和恆定的。哈希函數不太可能會更快(您無法避免讀取值,這幾乎是做比較所需的所有工作),甚至是具有相同哈希代碼的哈希函數不會告訴您值並沒有改變,所以你仍然有時要比較所有10。

如果偶爾得到答案錯誤的話,您可以對散列碼XOR所有十個值(假定爲適度大小的二進制整數),然後檢查它。這將避免讀取舊/新值,將讀取次數減半。鑑於PLC正在做的所有其他工作,我懷疑這種節省是否是納米級以外的其他工作。

+0

這就是我想要它快速運行毫秒。由於設計常數。這要感謝 – mrebus

+0

@mrebus:現代計算機的單個內核在一毫秒內有數百萬個週期。如果整數在L1緩存中,則這個時間會少於0.0001毫秒。 – Charles

+0

@Charles我需要它來編寫一個PLC程序。 PLC程序需要10-100毫秒運行(是的,這很糟糕,但我沒有寫它)。我需要一些快速的東西,比主循環運行更頻繁。因爲我需要更快的時間在一小段代碼上。 – mrebus

相關問題