我正在考虑使用Web Workers进行批处理图像处理,我想知道在性能方面会有什么提高。
我目前的策略是按顺序处理每个图像,只有在当前进程结束后才开始新的进程。如果我有10个图像,每个图像需要10秒来处理,那么批处理将在大约100秒内完成。
如果我一次使用10个Web Workers,我怀疑我能否在10秒内完成整个工作。但是它会低于100秒吗?如果不是,是否存在并发运行的Web Workers池的最佳大小?
发布于 2012-12-14 02:47:49
我可以想象,您的性能提升将在很大程度上取决于您计算机中的核心数量。如果我猜的话,我会说四个网络工作者(对应于四核机器)可能是一个很好的甜蜜点,但唯一确定的方法是尝试一下。
以这样一种方式构建您的代码,即您可以简单地更改一个常量来更改工作进程的数量,然后将其设置为一个似乎最适合工作的值。
发布于 2012-12-19 22:17:36
你可以试试这个例子:Ray-tracing with Web Workers,在这里使用16个web worker与4个web worker相比,性能肯定会有很大的提升。
https://stackoverflow.com/questions/13866335
复制相似问题