`
iyuan
  • 浏览: 470073 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

cython初涉

阅读更多
话不多说,Hello World:
#hello.pyx
def say_hello_to(name):
    print("Hello %s!" % name)

#setup.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("hello", ["hello.pyx"])]

setup(
  name = 'Hello world app',
  cmdclass = {'build_ext': build_ext},
  ext_modules = ext_modules
)

执行:
python setup.py build_ext --inplace

欧了~第一个cython算是完成,就是那个 hello.so的东东,如同普通的py文件一样使用即可。

可是,为毛要cython这么麻烦捏?速度啊速度!
def f(x):
    return x**2-x

def integrate_f(a, b, N):
    s = 0
    dx = (b-a)/N
    for i in range(N):
        s += f(a+i*dx)
    return s * dx

cython一下,提高35%!还不满意?那么稍微再改改:
def f(double x):
    return x**2-x

def integrate_f(double a, double b, int N):
    cdef int i
    cdef double s, dx
    s = 0
    dx = (b-a)/N
    for i in range(N):
        s += f(a+i*dx)
    return s * dx

4倍啊4倍!和原生的c一个级别了!!什么?还不满意?好吧,等我深入学习下先~
0
3
分享到:
评论

相关推荐

    cython_bbox-0.1.3

    "cython_bbox-0.1.3" 是一个软件包,它主要涉及到两个技术领域:`pip` 和 `Cython`。首先,我们来详细了解一下这两个概念。 **Cython** 是一种静态类型的、Python 语言的扩展,它允许开发者用接近 Python 的语法...

    Python库 | Cython-0.29.3.tar.gz

    **Python库Cython详解** Cython是一款开源的Python编程语言扩展,它允许开发者将Python代码编译成C语言,从而显著提升程序的运行速度。在Python世界中,Cython被视为一个静态类型的、优化过的Python方言,它使得...

    [Cython] Cython 编程学习教程 (英文版)

    [Packt Publishing] Cython 编程学习教程 (英文版) [Packt Publishing] Learning Cython Programming (E-Book) ☆ 图书概要:☆ Expand your existing legacy applications in C using Python Overview Extend ...

    Cython tutorial

    **Cython教程** Cython是一种混合静态类型和动态类型的编程语言,它将Python的易读性和灵活性与C的高效性能相结合。Cython是Python的一个扩展,它的目标是为Python程序员提供一种方式,通过简单的语法糖来编译成C...

    Cython文件在window与linux下的编译指导

    Cython 文件在 window 与 linux 下的编译指导 Cython 文件在 window 与 linux 下的编译指导是指在不同的操作系统平台上编译 Cython 文件的指导。Cython 是一种高级语言,可以将 Python 代码编译成 C 代码,然后再...

    Cython封装C++代码示例

    在IT行业中,优化Python代码性能是一项常见的需求,而Cython是一种解决方案,它允许开发者使用Python语法来编写接近原生速度的C/C++代码。本文将详细介绍如何使用Cython来封装C++代码,以便在Python环境中高效地运行...

    Cython入门 示例

    **Cython入门详解** Cython是一种混合静态类型的Python方言,旨在提高Python代码的运行效率,尤其是在科学计算和数值处理领域。它允许开发者使用类似于Python的语法编写代码,但同时引入了类型声明,使得编译后的...

    cython0.23源码

    Cython是一种编程语言,它是Python的一个扩展,旨在提高Python代码的执行速度。它允许开发者将Python代码转换为C语言,从而可以直接编译成高效的机器代码。Cython 0.23 是一个较早的版本,它在开发科学计算库如...

    PyPI 官网下载 | Cython-3.0a5-cp35-cp35m-manylinux1_i686.whl

    标题中的“PyPI 官网下载 | Cython-3.0a5-cp35-cp35m-manylinux1_i686.whl”表明这是一个在Python Package Index(PyPI)官方源上发布的Cython库的特定版本。Cython是一种静态类型的语言,它是Python的超集,旨在...

    Learning Cython Programming

    ### Cython编程学习:扩展C语言与Python的桥梁 #### 概述 Cython是一种将Python代码转换为C代码的静态编译器,它能够显著提高Python程序的执行速度,尤其是在处理密集型计算任务时。《Learning Cython Programming...

    Cython-0.23.3.tar.gz

    Cython是一种混合编程语言,它是Python的一个扩展,旨在提高Python代码的执行速度。Cython-0.23.3.tar.gz 是Cython的0.23.3版本的源码包,通常用于开发者进行编译和安装。这个压缩包包含了构建、安装Cython所需的...

    Learning Cython Programming.pdf

    Cython是Python程序设计语言的一个编译器,它允许开发者使用Python代码,并通过在其中添加类型声明来提高性能。这个工具的主要目的是为了使Python代码能够直接和C语言代码进行互操作,从而在关键性能部分实现提升。...

    cython python3.6 linux

    此为适用于linux系统python3.6的cython安装包,版本为0.29

    PyPI 官网下载 | Cython-0.27.3-cp27-cp27m-win_amd64.whl

    **PyPI 官网下载 | Cython-0.27.3-cp27-cp27m-win_amd64.whl** PyPI(Python Package Index)是Python社区广泛使用的软件包仓库,用于发布和分发Python模块。开发者可以将自己的Python项目上传到PyPI,使得全球的...

    Python-OrderedDict的Cython实现

    `cyordereddict-master`可能是这个项目的源代码压缩包,其中包含了所有必要的文件,如`.pyx`(Cython源文件)、`.pxd`(Cython接口定义文件)以及编译和安装所需的配置文件。 要使用这个库,首先需要安装`Cython`。...

    Cython-0.16.win32-py2.7

    Cython-0.16.win32-py2.7

    Cython-0.29.30-py3-none-any.whl

    Cython-0.29.30-py3-none-any.whl

Global site tag (gtag.js) - Google Analytics