下面用于計算序列的熵。是否可以并行化該功能?def get_lempel_ziv_entropy(message: str) -> float: i, lib = 1, [message[0]] while i < len(message): for j in range(i, len(message)): message_ = message[i:j + 1] if message_ not in lib: lib.append(message_) break i = j + 1 return len(lib) / len(message)
1 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
我認為并行化這個函數是不切實際的。
外部循環(huán)不能并行化,因為每次迭代都取決于lib
前一次迭代準備的值。
內部循環(huán)可以并行化,但開銷可能會超過潛在的加速。(啟動和加入線程并不是免費的,所有線程都在爭奪對可變字典的訪問權。)
添加回答
舉報
0/150
提交
取消