cython将python转为c代码_Cython:使用C语言来加速Python

前言

Python语言易用,开发效率高,适用范围广,这些优点是我们经常提起的,几乎做到了家喻户晓吧。但Python语言的性能也一直是大多数使用Python和没使用过Python的人一直诟病的。为什么没有使用过Python的人也诟病Python的性能呢,这就涉及到更深入的话题了,本篇不做深入。和我这样的能力不足的程序员不同是的是,一直有一些聪明人在享受这Python的便利的同时也没有放弃从各个方向优化Python的性能。其中Cython就是一个常用的方案,Cython可以做到像C一样的高性能,同时兼顾Python的简单易用。Cython通过一个Python/C API来完成两个语言之间的交流,以提供在计算密集型任务上对Python的良好性能支持,这里要注意的是只在计算密集型任务上适应这样的解决方案,大部分应用不需要这么做,反而会适得其反。

原生Python

上节说到只有那些计算密集型任务才考虑做性能优化,没有充分的理由不要过早做性能优化,要知道过早的优化是万恶之源。所以我们的例子也是举一个计算密集型示例。计算一定范围内那些数字是素数是一个典型的计算密集型任务。我们这次就用这个作为示例做演示。首先是Python语言实现部分:

from math import sqrt

def primes(n):

results = [1,]

for i in range(2, n):

for j in range(2, int(sqrt(i))):

if i % j == 0:

break

else:

results.append(i)

return

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值