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

下面用于计算序列的熵。是否可以并行化该功能?


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)


慕森王
浏览 76回答 1
1回答

梦里花落0921

我认为并行化这个函数是不切实际的。外部循环不能并行化,因为每次迭代都取决于lib前一次迭代准备的值。内部循环可以并行化,但开销可能会超过潜在的加速。(启动和加入线程并不是免费的,所有线程都在争夺对可变字典的访问权。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python