1、提升python性能工具psyco:python代码加速器 Psyco 是严格地在 Python 运行时进行操作的。 但是,Psyco 中真正省时的原因在于 Psyco 将操作分成三个不同的级别。对于 Psyco,有“运行时”、“编译时”和“虚拟时”变量。Psyco 根据需要提高和降低变量的级别。 而 Psyco 跳过这些对象,只计算这些值,因为它知道“如果需要”,可以从值创建一个对象。 使用 Psyco 解释 Psyco 相对比较困难,但是使用 Psyco 就非常容易了。 要做到这点,把下列行置于模块顶端: import psyco ; psyco.jit() from psyco.classes import * 第一行告诉 Psyco 对所有全局函数“发挥其魔力 除了测试和调试之外的几乎所有的情况下,您都将使用 psyco.bind() 形式。 Psyco 的性能 尽管 Psyco 如此神奇,使用它仍然需要一点思考和测试。
其实是RPython 一个框架:用来实现编程语言尤其是动态语言的解释器/虚拟机 比如Ruby解释器: Topaz 比如Prolog解释器: Pyrolog 起源 author, Armin Rigo: Psyco , 由C编写(2012年终止)简单易用: import psyco psyco.full() 但因为基于C开发,相当于用C重写了CPython,灵活性太差,于是作者就跑去参与了PyPy的开发。 Python本身的发展 + 高效的JIT 为什么PyPy是未来 参考 用 Psyco 让 Python 运行得像 C 一样快 http://en.wikipedia.org/wiki/PyPy http
2.PyPy、Pyston、Parakeet、Psyco和Unladen Swallow 让代码运行的更快,侵入性最小的就是使用实时编译器(JIT编译)。以前的话我们可以直接安装Psyco。 安装之后导入psyco,然后调用psyco.full()。代码运行速度就可以明显提升。运行Python代码的时候,它可以实时监控程序,会将一部分代码编译为了机器码。 现在好多Psyco等加速器的项目已经停止维护了,不过类似的功能在PyPy中得到了继承。 PyPy为了方便分析、优化和翻译,用Python语言将Python重新实现了一遍,这样就可以JIT编译。
psyco 脚本的执行效率多少有点差强人意,虽然优化起来并不是难事,但如果有简单的方法,近乎不用修改源代码,那当然值得去关注一下。 psyco 的神奇在于它只需要在代码的入口处调用短短两行代码,性能就能提升 40% 或更多,真可谓是立竿见影! 如果你的客户觉得你的程序有点慢,敬请不要急着去优化代码,psyco 或许能让他立即改变看法。 psyco 堪称 Python 的 jit,有许多潜力可以挖掘,如果剩下来给你优化性能的时间已经不多,请马上去阅读它的手册,有许多招儿轻松优化性能。
核心技术要点 1)Apache:站点服务器 2)Python:Web应用主要是用Python搞定的 3)Linux(SuSe):操作系统(笔者:为何选用SuSe呢) 4)Mysql:数据库 5)psyco (笔者:psyco是Python的一个C语言扩展) 6)lighttpd:视频服务器没有用Apache,而是选择用了lighttpd Web服务要点 1)使用NetScalar实现负载均衡,以及对静态内容的缓存 主要解决传统CGI模型令人诟病的“fork and execute”模型) 3)由一个Python服务专门负责Web请求的路由(笔者:那个时候Nginx还没有大行其道) 4)CPU密集型的复杂计算,使用psyco
另外赖勇浩在blog我常用的几个第三方 Python 库中提到,使用psyco可以提升Python 40%或更高的性能。在32bit Linux下,测试上面的场景可提高约10%的性能。 但由于Psyco不支持64bit架构,所以正式的生产环境就没有安装这个加速功能。
python 有很多自带的优化工具,如 Psyco,Pypy,Cython,Pyrex 等,这些优化工具各有千秋,本节选择几种进行介绍。 Psyco psyco 是一个 just-in-time 的编译器,它能够在不改变源代码的情况下提高一定的性能,Psyco 将操作编译成有点优化的机器码,其操作分成三个不同的级别,有"运行时"、"编译时 一旦 Psyco 将操作编译成机器码,那么编译时变量就会在机器寄存器和可直接访问的内存位置中表示。同时 python 能高速缓存已编译的机器码以备今后重用,这样能节省一点时间。 但 Psyco 也有其缺点,其本身运行所占内存较大。 目前 psyco 已经不在 python2.7 中支持,而且不再提供维护和更新了,对其感兴趣的可以参考 http://psyco.sourceforge.net/ Pypy PyPy 表示 "用 Python
下载地址:http://cx-freeze.sourceforge.net/ 2. psyco 脚本的执行效率多少有点差强人意,虽然优化起来并不是难事,但如果有简单的方法,近乎不用修改源代码,那当然值得去关注一下 psyco 的神奇在于它只需要在代码的入口处调用短短两行代码,性能就能提升 40% 或更多,真可谓是立竿见影!
然而,其他的系统,包括Psyco即时编译器以及Shedskin C++转换器,则试着优化了基本执行模块。 a、Psyco实时编译器 Psyco系统并不是Python的另一种实现方式,而是一个扩展字节码执行模块的组件,可以让程序运行的更快。 Psyco是一个PVM的增强工具,这个工具收集并使用信息,在程序运行时,可以将部分程序的字节码转换成底层的真正的二进制机器码,实现更快的执行速度。 在开发过程中,Psyco无需代码的修改或独立的编译即可完成这一转换。
python 有很多自带的优化工具,如 Psyco,Pypy,Cython,Pyrex 等,这些优化工具各有千秋,本节选择几种进行介绍。 Psyco psyco 是一个 just-in-time 的编译器,它能够在不改变源代码的情况下提高一定的性能,Psyco 将操作编译成有点优化的机器码,其操作分成三个不同的级别,有"运行时"、"编译时 一旦 Psyco 将操作编译成机器码,那么编译时变量就会在机器寄存器和可直接访问的内存位置中表示。同时 python 能高速缓存已编译的机器码以备今后重用,这样能节省一点时间。 但 Psyco 也有其缺点,其本身运行所占内存较大。 目前 psyco 已经不在 python2.7 中支持,而且不再提供维护和更新了,对其感兴趣的可以参考 http://psyco.sourceforge.net/ Pypy PyPy 表示 "用 Python
python 有很多自带的优化工具,如 Psyco,Pypy,Cython,Pyrex 等,这些优化工具各有千秋,本节选择几种进行介绍。 Psyco psyco 是一个 just-in-time 的编译器,它能够在不改变源代码的情况下提高一定的性能,Psyco 将操作编译成有点优化的机器码,其操作分成三个不同的级别,有"运行时"、"编译时 一旦 Psyco 将操作编译成机器码,那么编译时变量就会在机器寄存器和可直接访问的内存位置中表示。同时 python 能高速缓存已编译的机器码以备今后重用,这样能节省一点时间。 但 Psyco 也有其缺点,其本身运行所占内存较大。 目前 psyco 已经不在 python2.7 中支持,而且不再提供维护和更新了,对其感兴趣的可以参考 http://psyco.sourceforge.net/ Pypy PyPy 表示 "用 Python
可用加速模块有 Cython, PyPy, Pyrex, Psyco 等. 这里还有张图片展示了学习Python后的“你” ?
Psyco ———— 一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。 psyco 脚本的执行效率多少有点差强人意,虽然优化起来并不是难事,但如果有简单的方法,近乎不用修改源代码,那当然值得去关注一下。 psyco 的神奇在于它只需要在代码的入口处调用短短两行代码,性能就能提升 40% 或更多,真可谓是立竿见影! 如果你的客户觉得你的程序有点慢,敬请不要急着去优化代码,psyco 或许能让他立即改变看法。 psyco 堪称 Python 的 jit,有许多潜力可以挖掘,如果剩下来给你优化性能的时间已经不多,请马上去阅读它的手册,有许多招儿轻松优化性能。
Jython:用于Java语言集成的实现 IronPYthon:用于与.NET框架集成的实现 PyPy:python实现的python解释器 4.Python性能优化工具: Psyco 目前开发已经停止,由PyPy接替 PyPY:是python实现的python解释器:PyPY的图标特别有意思,一条蟒蛇自己咬着自己的尾巴 python语言的动态编译器,是Psyco
exe Tkinter wxpython pythonwin java swing pygtk pyqt ---- highlight-setup-3.4.exe ------- Psyco
processor python实现 Cpython:原始、标准的实现方式 Jython:用于与java语言集成的实现 IronPython:用于与.NET框架集成的实现 python性能优化工具 Psyco
性能优化 1.Psyco:python语言的一个扩展模块,可以即时的对程序的代码进行专业的算法来进行优化,在一定程度上提高程序的执行速度,这个扩展模块目前已经停止维护,由PyPy替代,可以更好的对源代码进行优化处理
服务器使用的用户名,如果为空~Django将不会尝试进行认证 1.2.22 EMAIL_PORT:默认值:25 EMAIL_HOST选项指定的SMTP服务器使用的端口号 1.2.23 ENABLE_PSYCO :默认值False 确定是否使用pscyo优化python代码,需要依赖psyco模块 1.2.24 IGNORABLE_404_STARTS:默认值: ('/cgi-bin/', '/_vti_bin
服务器使用的用户名,如果为空~Django将不会尝试进行认证 1.2.22 EMAIL_PORT:默认值:25 EMAIL_HOST选项指定的SMTP服务器使用的端口号 1.2.23 ENABLE_PSYCO :默认值False 确定是否使用pscyo优化python代码,需要依赖psyco模块 1.2.24 IGNORABLE_404_STARTS:默认值: (’/cgi-bin/’, ‘/vti_bin
Psyco 一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。