0

我有一个使用无堆栈 python 运行多个 tasklet 的程序,我的问题是虽然它很快,但如果我启动一个或多个运行相同代码的进程,我确实注意到速度变慢。

例如,在进程中使用线程,我的程序需要 6 秒才能完成,如果我启动 2 个进程,它仍然只需要 6 秒即可完成。但是,如果我使用 tasklets,程序只需要 2 秒即可完成,但如果我同时运行 2 个进程则需要 4 秒,如果我运行 3 个进程等则需要 6 秒。

我的问题是,这是无堆栈 python 的正常行为吗?我检查以确保单独进程中的小任务使用单独的调度程序,并且每个进程只能看到它们的小任务,但也许所有进程中的所有小任务仍在争夺系统资源?这是我能想到的唯一解释,为什么在使用小任务而不是线程时,每个额外的进程都会导致速度变慢。我需要有人向我解释这一点,这样我才能弄清楚我的代码是否有问题,或者这是一个不可避免的问题。

4

0 回答 0