一.前言
最近写了一个程序,在运算数据量较小的时候程序表现还行,但是当运行的数据上万的时候我发现我写的程序跑起来很吃力,可以说根本跑不动。在我发现这个问题之后,我开始变得闷闷低落,甚至没了之前那种继续编程的热情。一天过后,我认为很有必要提高一下我写的代码的运行效率。那么,怎样提高呢?那就是通过书籍或是其他途径获取前人经典的、启发性的编程思想和方法。
二.出发
跑到学校的图书馆借了三本书,两本关于代码优化的,一本关于深度学习的。忘了说,在此研究生期间,我的方向就是深度学习。
三.记住这句话
程序写得好的人通常都有缜密的逻辑思维能力和良好的数理基础,而且熟悉编程环境和编程工具。古人常说“见文如见人”,我觉得程序同样也能反映出一个人的功力和风格,好的程序读起来非常赏心悦目。
加油!
2020.11.2
前些天开组会的时候,我问过老师有没有什么方法能提高程序运行效率?我说我写的程序跑得太慢了。
老师回答得很隐晦:我不知道为什么有的学生写的代码跑的很慢,像之前给本科生上课时,让他们写个kshell(我不知道这是什么东西,以后如果要用就学)跑半天都跑不出结果来,我一般都是秒出结果。。。
然后我就给他说:我用for循环处理数据好像很慢(我还没说完)
他说:哦哦,我知道了,不要用python的for循环,用pandas,原生python很慢的,用pandas。pandas底层是numpy,所以很快。
然后我还是似懂非懂。。。
之后过了几天,我又发现了一个子功能模块运行的很慢,然后呢,我就想再试一试看能不能用pandas来做:
然后呢就写了上面的代码,运行发现,真的很快。
所以,知道了吗?别自己用for循环,学会用这些高效的运算库,什么numpy、什么pandas,能调用库的函数就别自己使用函数(见机行事)。
如果大家有时间,多学习一下这些库的相关文档,当你能熟练的运用时,你的编程能力应该会提高的吧?的吧?