令人兴奋的是,我决定来看一下只通过Pyrex编译可以怎样提高速度。
一旦用C编译器进行了编译,就可以将这些Pyrex(语言)模块导入常规的Python应用程序并使用。
由于这个模块的运行速度很慢,可能Pyrex会是一个比较好的加速方法。
当然,当您开始谈论加速(类)Python模块时,Pyrex并不是惟一可用的工具。
以原身玻璃盘子上菜或转放碟上,轻轻拌匀。伴以青瓜和乳酪沙律进食。
特别地,要使用Pyrex,需要用类似Python的语言编写函数,这种语言将类型声明添加到所选变量中。
我们生产手工吹制耐热玻璃烟斗,玻璃烟枪,玻璃水烟枪,彩色玻璃烟斗,彩色烟枪。
即便如此,Pyrex几乎肯定可以代表这种问题的最佳状况。
对于大部分情况来说,Pyrex不需要不断对简单数据类型变量进行装箱(box)和拆箱(unbox)操作,因此速度比Python更快。
Pyrex是一种专门设计用来编写Python扩展模块的语言。
然而对于“普通的”Pyrex用户来说,没有什么理由需要修改所生成的C模块。
将脱水牛肝菌置于一只碗或一只耐热量杯中,然后倒进两杯开水。
按照语言的术语来说,Pyrex本质上是在Python中添加了类型声明。
Pyrex(工具)将“.pyx”文件处理成“.c”扩展名的文件。
做白色酱汁时一定要用厚底的锅子,搪瓷的,不锈钢的,耐热玻璃,瓷质的或是镀锡的铜锅都可以。
虽然Pyrex也并不难,但是Psyco更加简单易用。
在最好的情况中,Pyrex实际上可以产生非常快的代码。
另外一方面,C或Pyrex的int变量只是内存中各个位设置为1或0的一个区域。
在仔细选择的情况中,Pyrex模块的速度可以比Python版本的相同模块的运行速度快40到50倍。
对于中型陆龟的话,大的塑胶盘也是很好用的,或是用烤盘也可以。
尽管numeric的涵盖面当然与可以利用Pyrex的函数不同,但是肯定会有一些重叠。
例如,Pyrex主页上使用一个计算素数列表的数学函数来宣扬这个特性。
我只声明了早已知道的一些变量类型,并使用最干净的Pyrexcounter循环。
这个Pyrex函数与纯Python的程序只有很少的不同:只是增加了几个声明