Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何加速代码?_Python_Optimization - Fatal编程技术网

Python 如何加速代码?

Python 如何加速代码?,python,optimization,Python,Optimization,我想加快我的代码编译速度。我在互联网上搜索过,听说psyco是提高编译速度的一个非常好的工具。我搜索过,但可以下载一个网站 到目前为止,我已经在python中安装了任何其他库或模块。。 psyco用户能告诉我们在哪里可以下载psyco及其安装和使用程序吗?? 我使用windows vista和python 2.6来完成这项工作???Psyco不会加快编译速度(事实上,它会减慢编译速度)。然而,如果您的问题是Python的编译速度,那么代码中存在一些严重的问题 如果您试图提高运行时性能,Psyco

我想加快我的代码编译速度。我在互联网上搜索过,听说psyco是提高编译速度的一个非常好的工具。我搜索过,但可以下载一个网站

到目前为止,我已经在python中安装了任何其他库或模块。。 psyco用户能告诉我们在哪里可以下载psyco及其安装和使用程序吗??
我使用windows vista和python 2.6来完成这项工作???

Psyco不会加快编译速度(事实上,它会减慢编译速度)。然而,如果您的问题是Python的编译速度,那么代码中存在一些严重的问题

如果您试图提高运行时性能,Psyco确实可以使用32位操作系统和Python 2.5版。最新版本是Psyco的首个谷歌结果:

Psyco不再是一个“有趣”的项目,因为Python3.x已经获得了UnladenSwallow,开发人员的大部分注意力都集中在Psyco和PyPy之间


还有其他提高性能的方法,不限于和,我建议不要依赖于这些工具,无论如何,psycho正在被新的python实现所取代。要加速“免费”,您可以使用和。无论如何,在我看来,这不是加速代码的正确方法

如果您正在寻找速度,以下是一些提示:

  • 轮廓
  • 轮廓
  • 轮廓
  • 您应该使用该模块并找到瓶颈,然后继续优化


    如果python中的优化还不够,那么重写中的相关部分就可以了。

    因此,您似乎不想加快编译速度,而是想加快执行速度

    如果是这样,我的咒语是“少做”。保存结果并保存它们,不要一遍又一遍地重读同一个文件。一次从文件中读取大量数据并使用它

    特别是在文件方面,如果您从每个文件中读取少量数据并在多个文件之间切换,那么您的性能将非常糟糕。只需完整地读入每个文件,一次一个,然后使用它们。

    • 使用适当的数据结构。如果你看到你做了很多事情

      if element in list
      #or 
      list.index(element) 
      
      那你最好用电视机和字典

    • 不要创建一个列表只是为了遍历它,使用生成器或itertools模块
    • 阅读
    • 如前所述,进行分析

    您的代码编译速度异常慢有什么具体原因吗?如前所述,我需要运行一个特定的方法,该方法包括打开读取4个文件,该方法被称为10000次。通常,一个方法将编译一次,然后运行10000次。您不需要加快编译速度,但可能需要加快执行速度。我有格式为3.343445 1 3.54564 1 4.345535 1 2.453454 1等的文件数据,最多1000行,我有一个给定的数字,例如a=2.44443,对于给定的文件,我需要找到文件中最接近给定数字“a”的数字的行号如何将整个文件加载到列表中,比较每个元素,并在最接近的元素中找到其他更好更快的方法?您可以创建一个新的数据对列表:
    my_list=[(abs(n-a),n)for n in file_list]
    ,然后对其进行排序并选择第一个元素。