我对python有点新鲜,我有一个用python 3.3.2(32位)编写的大型代码库。它使用numpy 1.7.1并且由于计算密集的计算需要很长时间才能运行。
我需要并行化代码以提高性能。我正在考虑使用pypy
进行并行化,但我不确定如何将其与现有代码一起使用。
我搜索了Google但找不到合适或满意的答案。我也读过有关使用cython的内容,但我不确定如何使用它。
有人可以提供有关提高代码性能的指示吗?
答案 0 :(得分:0)
由于您是Python的新手,我强烈建议您在进入可能不适合您需求的pypy
之前花些时间调查所有可能性。有很多方法可以加速NumPy代码,最好的方法实际上取决于你正在做什么。
一个很好的起点是Ian Oszvald's High Performance Python tutorial。不要只看它:跟随并试试这些例子!
从那里,你应该考虑并行化是否会有所帮助。并行化有几种选择,比如stdlib的multiprocessing
module,但科学领域的很多人都在使用IPython的并行化功能。要了解这一点,请查看Min Ragan-Kelley的IPython并行教程(pt 1,pt 2,pt 3)。
一旦你对Python的功能有所了解,选择一种加速代码的方法并试一试。当您遇到更具体的问题时,StackOverflow将能够提供更具体的答案,而不仅仅是教程的一些链接;)