Chromium:与页面通信的速度比与工作人员的通信速度快?

时间:2013-05-24 15:25:40

标签: google-chrome webkit v8 chromium web-worker

假设我的系统中有以下部件:存储(S)和许多客户端(C)。客户端是独立的Web Workers,我实际上是在尝试为他们模拟共享内存。

现在我只有一个客户端,它正在与存储相当密集地进行通信。为了测试,它在for循环中旋转,从Storage请求一些信息并处理它(处理非常便宜)。

事实证明这是。我已经检查了进程列表并注意到chrome --type=renderer占用了大量的CPU,所以我认为它可能会重绘页面或在每条消息之后进行某种DOM处理,因为存储正在页面上下文中运行。好吧,我已经决定尝试将存储移动到一个单独的工作人员,以便页面现在完全处于空闲状态并且...最终变得更糟糕的性能 - 正好慢两倍(我已经尝试了一个共享工作者和一个专门的工作者MessageChannel具有相同的结果)。

所以,这是我的问题:为什么从工作者向另一个工作者发送消息比从工作者向页面发送消息慢两倍?他们是通过页面发送消息的吗?是“按设计”还是错误?我打算查看源代码,但我担心它有点过于复杂,可能有人已经熟悉了Chromium内部的这部分......

P.S。我正在使用Linux上的Chrome 27.0.1453.93和Windows上的Chrome 28.0.1500.20进行测试。

0 个答案:

没有答案