为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用嵌套循环和条件语句并行化函数?

如何使用嵌套循环和条件语句并行化函数?

慕森王 2022-10-06 16:13:23
下面用于计算序列的熵。是否可以并行化该功能?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个赞

我认为并行化这个函数是不切实际的。

外部循环不能并行化,因为每次迭代都取决于lib前一次迭代准备的值。

内部循环可以并行化,但开销可能会超过潜在的加速。(启动和加入线程并不是免费的,所有线程都在争夺对可变字典的访问权。)


查看完整回答
反对 回复 2022-10-06
  • 1 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信