为了小效率而使用Python并发是否合理?

为了小效率而使用Python并发是否合理?,python,asynchronous,concurrency,Python,Asynchronous,Concurrency,我正在从事一个Djnago项目,我有一个任务,包含3个相互独立的较小函数,假设: def mainFunc(): funA() funB() funC() 我使用pythonconcurrent.futures将函数编辑为: def mainFunc(): with concurrent.futures.ThreadPoolExecutor() as executer: executer.submit(funA) executer.submit(funB)

我正在从事一个Djnago项目,我有一个任务,包含3个相互独立的较小函数,假设:

def mainFunc():
  funA()
  funB()
  funC()
我使用python
concurrent.futures
将函数编辑为:

def mainFunc():
  with concurrent.futures.ThreadPoolExecutor() as executer:
    executer.submit(funA)
    executer.submit(funB)
  funC()
我多次运行这两个程序,我意识到并发版本运行得更快,但平均只有20毫秒,现在我的问题是:

为了小效率而使用Python并发是否合理?在这种情况下,使用异步编程与同步编程相比,有什么缺点


PS:正如我提到的,这是一个Django项目,该功能是web服务的一部分,可能会在一分钟内调用多次,甚至数百次

仅仅为了节省20毫秒而增加应用程序的复杂性是不值得的。Python一次只运行一个线程,加上线程上下文切换的额外成本,所以这样做的理由很少。@yedpodtrzitko感谢您的评论,我更新了我的问题并添加了一些关于项目考虑的细节。你是说线程池
mainFunc
比单线程版本平均快20毫秒吗?如果每个请求减少20毫秒,这可能是值得的,而这取决于你的应用程序。如果你走这条路,通常也会有一个应用程序范围的线程池,用于网络任务(我想你可能就是为了这个目的)。也就是说,如果asyncio(或某些ASGI框架)在应用程序中很常见,那么它可能会让您的生活更轻松。