我可以通过编译来改善python运行时吗?

约坦

我正在用python写一个小的玩具模拟。当然,这种模拟很慢。据我了解,python代码运行缓慢的主要原因是python使用解释语言。我不想放弃python,因为清晰的语法和可用的库大大减少了编写时间。那么,有没有一种简单的方法可以“编译”我的python代码?

编辑

我回答一些问题:是的,我正在使用numpy。它极大地简化了代码,并且我认为自己编写函数无法提高性能。我将numpy用于所有列表,并将所有珠子加在一起。即。我调用

pos += V*dt + forces*0.5*dt**2 

其中'的POS“”,“V”,和“力”是所有np.array(2000,3)尺寸。我可以肯定的是,力计算中的缓慢部分。这是合乎逻辑的,因为我必须遍历所有粒子并检查它们的位置。对于我的真实项目(博士学位),我的代码具有大致相同的复杂度,而且我知道这是昂贵的东西。

约翰·米

Python是一种有点奇怪的语言,因为它既可以解释也可以编译。好吧。当您运行它时,它会被编译为“ .pyc”字节码-因此我们可以在此处快速陷入语义细节的泥潭。地狱,我什至不知道我刚才说的话是否完全正确。但最终,您希望加快速度,以便...

  1. 首先,使用事件探查器timeit来计算所有时间
  2. 其次,重写纯python代码以改善发现的慢速位
  3. 第三,看看优化后的情况
  4. 现在,取决于您的方案,但请认真考虑“我可以在更大的CPU /内存上运行它”
  5. 好的,尝试用C ++重写那些缓慢的部分
  6. 拧紧,全部用C ++编写

如果您敢说最后的选择,我敢说您被搞砸了,节省下来的钱也就不多了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在运行时通过评估字符串来创建函数吗?

来自分类Dev

我可以在运行时通过评估字符串来创建函数吗?

来自分类Dev

我需要Go语言运行时来运行已编译的Go应用程序吗?

来自分类Dev

尝试通过改善缓存局部性来改善矩阵乘法运行时间

来自分类Dev

我可以通过延长UILabel的一角来更改IOS模拟器中UILabel运行时的框架吗?

来自分类Dev

我可以从运行时选择的OCaml类继承吗?

来自分类Dev

我可以在运行时检查内置类型吗?

来自分类Dev

我可以在运行时更新 AMQP 设置吗?

来自分类Dev

我可以在运行时在活动的Python Shell中更改模块的属性吗?

来自分类Dev

我可以在运行时在活动的Python Shell中更改模块的属性吗?

来自分类Dev

在DOSBox上运行时,有什么方法可以改善Doom图形吗?

来自分类Dev

Java:我可以在运行时将运行时异常注入到任意类方法中吗?

来自分类Dev

特质可以保证它在编译或运行时被伴侣对象继承吗?

来自分类Dev

特性可以保证它在编译或运行时被伴侣对象继承吗?

来自分类Dev

在 Python 中,我可以在运行时更改全局变量后在函数中传递它吗?

来自分类Dev

为什么需要启用razor运行时编译?我在服用疯药吗?

来自分类Dev

当应用程序在后台运行时,我需要服务来做某事吗?

来自分类Dev

我可以在运行时运行C#文件吗

来自分类Dev

我可以限制(编译或运行时)泛型为char的数组[0..n]

来自分类Dev

为什么我可以在运行时通过 ClassName.__init__(self) 初始化另一个类来扩展一个类

来自分类Dev

我可以在C ++中在运行时更改对象的类型吗

来自分类Dev

我可以在运行时将std :: vector转换为std :: tuple吗?

来自分类Dev

我可以跳过对棉花糖的运行时权限询问吗?

来自分类Dev

我们可以在运行时为表单加载dfm文件吗?

来自分类Dev

我可以在运行时指定动态数据源吗?

来自分类Dev

我们可以在运行时检查动态数组的大小吗

来自分类Dev

我可以在运行时使用C#动态构建函数吗?

来自分类Dev

我可以从64位Java运行时(32)批处理文件吗?

来自分类Dev

我可以在C ++的运行时初始化静态const成员吗?

Related 相关文章

  1. 1

    我可以在运行时通过评估字符串来创建函数吗?

  2. 2

    我可以在运行时通过评估字符串来创建函数吗?

  3. 3

    我需要Go语言运行时来运行已编译的Go应用程序吗?

  4. 4

    尝试通过改善缓存局部性来改善矩阵乘法运行时间

  5. 5

    我可以通过延长UILabel的一角来更改IOS模拟器中UILabel运行时的框架吗?

  6. 6

    我可以从运行时选择的OCaml类继承吗?

  7. 7

    我可以在运行时检查内置类型吗?

  8. 8

    我可以在运行时更新 AMQP 设置吗?

  9. 9

    我可以在运行时在活动的Python Shell中更改模块的属性吗?

  10. 10

    我可以在运行时在活动的Python Shell中更改模块的属性吗?

  11. 11

    在DOSBox上运行时,有什么方法可以改善Doom图形吗?

  12. 12

    Java:我可以在运行时将运行时异常注入到任意类方法中吗?

  13. 13

    特质可以保证它在编译或运行时被伴侣对象继承吗?

  14. 14

    特性可以保证它在编译或运行时被伴侣对象继承吗?

  15. 15

    在 Python 中,我可以在运行时更改全局变量后在函数中传递它吗?

  16. 16

    为什么需要启用razor运行时编译?我在服用疯药吗?

  17. 17

    当应用程序在后台运行时,我需要服务来做某事吗?

  18. 18

    我可以在运行时运行C#文件吗

  19. 19

    我可以限制(编译或运行时)泛型为char的数组[0..n]

  20. 20

    为什么我可以在运行时通过 ClassName.__init__(self) 初始化另一个类来扩展一个类

  21. 21

    我可以在C ++中在运行时更改对象的类型吗

  22. 22

    我可以在运行时将std :: vector转换为std :: tuple吗?

  23. 23

    我可以跳过对棉花糖的运行时权限询问吗?

  24. 24

    我们可以在运行时为表单加载dfm文件吗?

  25. 25

    我可以在运行时指定动态数据源吗?

  26. 26

    我们可以在运行时检查动态数组的大小吗

  27. 27

    我可以在运行时使用C#动态构建函数吗?

  28. 28

    我可以从64位Java运行时(32)批处理文件吗?

  29. 29

    我可以在C ++的运行时初始化静态const成员吗?

热门标签

归档