【发布时间】:2013-09-30 15:53:27
【问题描述】:
我一直在试图弄清楚为什么我正在处理的用户脚本在 Firefox 中运行缓慢,而在 Chrome 和 Safari 中却异常火爆。我已经确定的一个原因(尽管可能不是唯一的原因)是用户脚本的大文件大小会产生很大的影响。该脚本中有十个书本长度的字符串,文件大小为 3.8 MB。如果我删除字符串,脚本会再次变快——基本上浏览器中的所有内容都会在文件加载时停止(就在典型的用户输入交互时)。
所以我想它可能有助于预压缩字符串,然后在运行期间根据需要解压缩。有人有在用户脚本中执行此操作的策略吗?
【问题讨论】:
-
字符串包含哪些数据?
-
您的用户脚本是否始终打开?问题可能实际上是首先存在的那些字符串。如果你马上做,解压到他们会更慢。
-
脚本不会在运行中使用所有这些字符串——只使用 10 个字符串中的一个——因此其中 90% 可以保持压缩状态。至于总是打开,它是一个将文本添加到 gmail 撰写窗口的脚本,因此它会在该窗口加载时加载(实际上不止一次)。
标签: javascript performance firefox greasemonkey userscripts