首页 > 解决方案 > 加快执行时间

问题描述

我有一个任务来加快这个脚本的执行时间。目标低于 12 秒。代码完成了这项工作,但效率并不高。我该如何改进它?我怀疑我在这里没有以最好的方式使用多处理模块:

import multiprocessing, datetime
from time import sleep


def queue_time(customers, num_of_tills):

    if len(customers) == 0:
        return 0
    start = datetime.datetime.now()
    for x in range(num_of_tills):
        for y in customers:
            process = multiprocessing.Process(target=sleep, args=(y,))
            process.start()
            process.join()
    result = datetime.datetime.now() - start
    return result.seconds

建议编辑:

import multiprocessing, datetime
from time import sleep


def queue_time(customers, num_of_tills):

    if len(customers) == 0:
        return 0
    start = datetime.datetime.now()
    for x in range(num_of_tills):
        for y in customers:
            process = multiprocessing.Process(target=sleep, args=(y,))
            process.start()
    process.join()
    result = datetime.datetime.now() - start
    return result.seconds

请假设customers参数是一个整数列表。

标签: pythonpython-multiprocessing

解决方案


推荐阅读