Towards Practical Incremental Recomputation for Scientists: An Implementation for the Python Language.

TAPP'10: Proceedings of the 2nd conference on Theory and practice of provenance(2010)

引用 15|浏览26
暂无评分
摘要
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.
更多
查看译文
关键词
subsequent run,code edit,extra code,maintainable code,Python interpreter,enhanced interpreter,computational scientist,execution time,high-level language,initial run,Python language,Towards practical incremental recomputation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要