由于for循环,Google Apps脚本运行缓慢

时间:2016-12-06 16:12:00

标签: rss spreadsheet

我有一个谷歌应用程序脚本,它采用电子表格,并循环遍历行,逐列获取值并生成RSS源。

我有一些性能问题,这是由于我认为的foor循环,并查询了许多值。

有关如何优化此问题的任何见解?谢谢!

http://pastebin.com/EPN5EPAx

1 个答案:

答案 0 :(得分:1)

一遍又一遍地调用getCellsetValue可能会减慢它的速度。每次调用setValue()时,都会发出一个缓慢的新IO调用。最好一次性加载和保存您的数据。

例如,从开头的范围加载所有值:

var values = range.getValues();

然后迭代生成二维数组(而不是getCell(i, 2)使用values[i - 1][1])。

当您需要更改值时使用:

values[i][j] = newValue;

然后当你完成电话时:

range.setValues(values);

这样,您可以将IO调用最小化为两个:一个在开始时加载,另一个在最后保存更改。