长时间运行的数据处理python脚本中的程序结构
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了长时间运行的数据处理python脚本中的程序结构,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1500字,纯文字阅读大概需要3分钟。
内容图文
![长时间运行的数据处理python脚本中的程序结构](/upload/InfoBanner/zyjiaocheng/688/b17ef296a5dc45bd86d2eefa9fc4f3d8.jpg)
对于我当前的工作,我正在编写一些长时间运行的脚本(需要花费数小时至数天),这些脚本需要进行CPU密集型数据处理.程序流程非常简单-它进入主循环,完成主循环,保存输出并终止:我程序的基本结构如下:
<import statements>
<constant declarations>
<misc function declarations>
def main():
for blah in blahs():
<lots of local variables>
<lots of tightly coupled computation>
for something in somethings():
<lots more local variables>
<lots more computation>
<etc., etc.>
<save results>
if __name__ == "__main__":
main()
这很快变得难以管理,因此我想将其重构为更易于管理的东西.我想使它更易于维护,而又不牺牲执行速度.
但是,每个代码块都依赖于大量变量,因此将部分计算重构为函数将使参数列表很快变得不可收拾.我应该将这种代码放入python类中,并将局部变量更改为类变量吗?从概念上讲,将程序转换为类并没有多大意义,因为该类将永远不会被重用,并且每个实例只能创建一个实例.
这种程序的最佳实践结构是什么?我使用的是python,但是假设现代的面向对象语言功能,问题相对于语言不可知.
解决方法:
首先,如果您的程序要运行数小时/天,那么切换到使用类/方法而不是将所有内容都放入一个巨大的main中的开销几乎是不存在的.
此外,重构(即使确实包含传递大量变量)也可以从长远来看帮助您提高速度.对设计良好的应用程序进行性能分析要容易得多,因为您可以查明较慢的部分并在那里进行优化.也许会出现一个针对您的计算进行了高度优化的新库…精心设计的程序将使您可以将其插入并立即进行测试.或者,也许您决定编写C模块扩展以提高部分计算速度,一个设计良好的应用程序也将使此操作变得容易.
在不看到<很多紧密耦合的计算>的情况下,很难给出具体的建议.和<更多计算>.但是,我将从使每个for块成为自己的方法开始,然后从那里开始.
内容总结
以上是互联网集市为您收集整理的长时间运行的数据处理python脚本中的程序结构全部内容,希望文章能够帮你解决长时间运行的数据处理python脚本中的程序结构所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。