python高性能计算:cython入门代码
三种实现的对比:
(1)纯python
x.py
def is_prime(num):
for j in range(2, num):
if (num%j)==0:
return False
return True
import time
a = time.time()
for i in range(10, 100000):
is_prime(i)
b = time.time()
print(b-a)
(2) x2.pyx
def is_prime(num):
for j in range(2, num):
if (num%j)==0:
return False
return True
import time
a = time.time()
for i in range(10, 100000):
is_prime(i)
b = time.time()
print(b-a)
编译文件:
x2_setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Great Circle module v1',
ext_modules = cythonize("x2.pyx",
#compiler_directives={'language_level' : "3"}
# or "2" or "3str"
),
)
编译:
python x2_setup.py build_ext --inplace
(3) x3.pyx
def is_prime(num):
cdef int j
for j in range(2, num):
if (num%j)==0:
return False
return True
import time
a = time.time()
for i in range(10, 100000):
is_prime(i)
b = time.time()
print(b-a)
编译文件:
x3_setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Great Circle module v1',
ext_modules = cythonize("x3.pyx",
#compiler_directives={'language_level' : "3"}
# or "2" or "3str"
),
)
编译:
python x3_setup.py build_ext --inplace
运行效果对比:

python高性能计算:cython入门代码的更多相关文章
- 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习
入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...
- Cython入门Demo(Linux)
众所周知,Python语言是非常简单易用的,但是python程序在运行速度上还是有一些缺陷.于是,Cython就应运而生了,Cython作为Python的C扩展,保留了Python的语法特点,集成C语 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python简单爬虫入门三
我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...
- Python简单爬虫入门二
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...
- GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- python之scrapy入门教程
看这篇文章的人,我假设你们都已经学会了python(派森),然后下面的知识都是python的扩展(框架). 在这篇入门教程中,我们假定你已经安装了Scrapy.如果你还没有安装,那么请参考安装指南. ...
- Python系列之入门篇——HDFS
Python系列之入门篇--HDFS 简介 HDFS (Hadoop Distributed File System) Hadoop分布式文件系统,具有高容错性,适合部署在廉价的机器上.Python ...
- Python系列之入门篇——MYSQL
Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...
- Python 30分钟入门指南
Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本 ...
随机推荐
- redis自动化安装
1.ruby脚本自动化安装 1.安装ruby开发环境 yum install rubygems -y 2.通过ruby包管理工具,安装操作redis的模块 gem sources --remove h ...
- 前台往后台传id
js页面var stuid;$(function () { var request = { QueryString : function(val) { var uri = window.locatio ...
- java8 API 函数式接口
简介 14年,Oracle公司如期发布了Java 8正式版,Java8提供了强大的流式处理及函数式接口编程 函数式接口编程,相信很多人在javascript中都使用过,比如回调函数,如今Java8也吸 ...
- MySql 增、删、改、查数据库
前言 之前几天写了MySql 的GROUP BY 语句和 JOIN 语句,今天补一下创建数据库.表的语句.首先假设已经暗转好MySQL 数据库,然后创建数据库.表. 创建数据库 create data ...
- MySQL入门到实战详细教程
MySQL介绍 MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品,它广泛应用于各种Web应用程序和网站,MySQL使用结构化查 ...
- 关于 KL 散度和变分推断的 ELBO
01 KL 散度 Kullback-Leibler (KL) 散度,是一种描述 一个概率分布 \(P\) 相对于另一个概率分布 \(Q\) 的非对称性差异的概念. KL 散度是非负的:当且仅当两个分布 ...
- WAV音频文件按秒切片段
wav音频文件按秒切片段 import wave def split_wav_by_seconds(input_file, output_file, start_second, end_second) ...
- 嵌入式HLS 案例开发手册——基于Zynq-7010/20工业开发板(2)
目 录 2 led_flash 案例 19 2.1 HLS 工程说明 19 2.2 编译与仿真 20 2.3 IP 核测试 23 3 key_led_demo 案例 23 3.1 HLS 工程说明 2 ...
- 灰色预测GM(1,1)模型的理论原理
灰色预测是对时间有关的灰色过程进行预测.通过建立相应的微分方程模型,从而预测事物未来发展趋势的状况. 由于笔者的水平不足,本章只是概括性地介绍GM(1,1)模型的理论原理,便于对初学者的初步理解 目录 ...
- 一位有着近 10 年 iOS 开发经验的全职爸爸如何高效管理时间?
名字: Mindr 开发者 / 团队: Florian Vates 平台: iOS, iPadOS, Android 正在开发中 请简要介绍下这款产品 有没有发现自己总是不断推迟待办事项的通知? Mi ...