【发布时间】:2011-07-27 23:53:40
【问题描述】:
我正计划编写一些代码来在本地使用 javascript 加密文件。对于大文件和大密钥大小,CPU 使用率(自然)非常高。在单个脚本设计中,这通常会导致浏览器挂起,直到任务完成。
为了提高响应能力并允许用户同时做其他事情,我想尝试使脚本对用户的 PC 更“友好”。加密过程将读取文件作为二进制字符串,然后以块的形式加密字符串(类似于 1KB/块 - 需要测试)。我想尝试使用基于 HTML5 的工作人员,以使整个事情尽可能地增加。比如:
- 产卵工人
- 向工作人员发送二进制数据块
- Worker 完成加密,传回新块
- 工人死亡。
这也可能有助于多核处理器,让多个工作人员同时处于活动状态。
无论如何,有没有人考虑过故意放慢脚本以减少 CPU 使用率?类似于将工作人员的加密任务拆分为单个操作,并在它们之间引入延迟。
每 100 毫秒的间隔计时器回调(示例)。
工人忙吗?
是 - 等待另一个间隔
否 - 开始加密下一个字母
建议/想法?
有人有使用工人的经验吗?如果您通过将主 UI 与密集工作分开,将其设为工作人员,是否会提高响应能力?
【问题讨论】:
标签: javascript cpu-usage