Erlang 对于生成到自己的进程来说,什么函数太小了

Erlang 对于生成到自己的进程来说,什么函数太小了,erlang,Erlang,如果生成一个进程来进行更并行的函数调用没有任何好处,那么限制在哪里呢 例如,在树结构中执行递归查找时,每个子节点都会向父节点添加一个进程和一个消息调用,以便进行简单比较。生成进程和执行工作总是比执行工作慢。这在很大程度上取决于你的确切要求。特别是非功能需求是关键。所以去做测量吧。这很容易。有关更多详细信息,请参阅关于的文档,还有一些第三方项目在那里简化了基准测试。产生更多流程不一定会使任务并行运行。例如,如果系统上有24个内核,则一次只能运行24个进程 相反,当您检查树中的节点时,最好考虑正在做

如果生成一个进程来进行更并行的函数调用没有任何好处,那么限制在哪里呢


例如,在树结构中执行递归查找时,每个子节点都会向父节点添加一个进程和一个消息调用,以便进行简单比较。

生成进程和执行工作总是比执行工作慢。这在很大程度上取决于你的确切要求。特别是非功能需求是关键。所以去做测量吧。这很容易。有关更多详细信息,请参阅关于的文档,还有一些第三方项目在那里简化了基准测试。

产生更多流程不一定会使任务并行运行。例如,如果系统上有24个内核,则一次只能运行24个进程


相反,当您检查树中的节点时,最好考虑正在做多少工作。假设节点值表示需要调用以检索值的url。在这种情况下,最好为每个节点生成一个进程。通过这种方式,一个进程可以被安排在另一个进程等待http请求的答复时运行。

当我问这个问题时,可能我认为这是错误的,但在我的示例中,通过树中的查找,我可以同时进行24次查找(如果我有24个内核)。如果每个节点上的查找只是比较一个值,那么将所有查找按顺序进行(只映射到树上)会更便宜吗而不是为每个节点生成进程,并一次24个进行比较。也许我根本不应该关心这一点,因为它只是实现细节,在总体速度上不会做太多,而且肯定会降低可读性?