我有一个Google Apps脚本,该脚本采用电子表格,并在行上循环,通过列获取值并生成RSS feed。
我有一些性能问题,这是由于我认为的foror循环,并询问了很多值。
关于如何优化此事的任何见解?谢谢!
http://pastebin.com/epn5epax
一遍又一遍地调用 getCell
和 setValue
,这可能会使它放慢速度。每次呼叫setValue()
时,都会制作一个新的IO调用,这很慢。最好是一口气加载和保存数据。
例如,从开始时从范围内加载所有值:
var values = range.getValues();
然后迭代他产生的两个维数组(而不是getCell(i, 2)
使用values[i - 1][1]
)。
当您需要更改值时使用:
values[i][j] = newValue;
然后,当您完成呼叫时:
range.setValues(values);
这样,您将io调用的调用最小化为两个:一个在开始时加载一个,一个节省更改。