Towards Practical Incremental Recomputation for Scientists: An Implementation for the Python Language
Towards Practical Incremental Recomputation for Scientists: An Implementation for the Python Language
复制标题
为科学家提供实用的增量重新计算:Python 语言的实现
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
D. Engler
中科院分区:
文献类型:
--
作者:
Philip J. Guo;D. Engler
Computational scientists often prototype data analysis scripts using high-level languages like Python. To speed up execution times, they manually refactor their scripts into stages (separate functions) and write extra code to save intermediate results to disk in order to avoid recomputing them in subsequent runs. To eliminate this burden, we enhanced the Python interpreter to automatically memoize (save) the results of long-running function executions to disk, manage dependencies between code edits and saved results, and re-use memoized results rather than re-executing those functions when guaranteed safe to do so. There is a ∼20% run-time slowdown during the initial run, but subsequent runs can speed up by several orders of magnitude. Using our enhanced interpreter, scientists can write simple and maintainable code that also runs fast after minor edits, without having to learn any new programming languages or constructs.