三种实现的对比:

(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入门代码的更多相关文章

  1. 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习

    入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...

  2. Cython入门Demo(Linux)

    众所周知,Python语言是非常简单易用的,但是python程序在运行速度上还是有一些缺陷.于是,Cython就应运而生了,Cython作为Python的C扩展,保留了Python的语法特点,集成C语 ...

  3. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  4. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  5. Python简单爬虫入门二

    接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...

  6. GJM : Python简单爬虫入门(二) [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  7. python之scrapy入门教程

    看这篇文章的人,我假设你们都已经学会了python(派森),然后下面的知识都是python的扩展(框架). 在这篇入门教程中,我们假定你已经安装了Scrapy.如果你还没有安装,那么请参考安装指南. ...

  8. Python系列之入门篇——HDFS

    Python系列之入门篇--HDFS 简介 HDFS (Hadoop Distributed File System) Hadoop分布式文件系统,具有高容错性,适合部署在廉价的机器上.Python ...

  9. Python系列之入门篇——MYSQL

    Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...

  10. Python 30分钟入门指南

    Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本 ...

随机推荐

  1. Vue学习:11.了解生命周期

    Vue.js框架为组件设计了一套完整的生命周期,涵盖了从创建到销毁的全过程.这些生命周期钩子函数(lifecycle hooks)允许开发者在特定的阶段执行自定义逻辑,以便更好地管理组件的状态和与其交 ...

  2. SDL3 入门(1):Hello, SDL3!

    在本系列中我们使用 Windows Terminal + Powershell 组合作为我们在 Windows 系统下的终端工具,Windows 11 自带该环境.你也可以使用任意自己喜欢的终端环境代 ...

  3. LocalDateTime日期相互转换字符串

    /** LocalDateTime日期相互转换字符串 * 默认的时间日期样式 */ public static final String YYYYMMDDHHMMSSS_PATTERN = " ...

  4. windows powershell 解压 .gz文件

    windows 10下解压.gz后缀文件 打开windows powershell界面,(1)输入cd desktop(文件的存储位置,示例为存储在电脑桌面上), (2)输入tar -zxvf 需要解 ...

  5. mklink命令使得OneDrive同步任意一个文件夹

      本文介绍利用mklink命令,使得OneDrive自动同步电脑中任意指定文件夹的方法.   OneDrive是由微软提供的云存储和文件同步服务.它提供了大量的云存储空间,允许用户将文件和数据存储在 ...

  6. WebUI自动化测试中关于图片验证码的解决方法

    关于怎么识别图片中的文字,传送门:https://www.cnblogs.com/teangtang/p/16157880.html 实现代码如下: #! /usr/bin/env python # ...

  7. metal invalid pixel format xx

    这个时候要考虑CAMetalLayer.pixelFormat是否设置设置正确,虽然MTLPixelFormat有很多枚举值,但是CAMetalLayer支持的也就只有五个: MTLPixelForm ...

  8. 第三方App与Termux命令建立IO通道

    目录 前言 一.Android 进程间通信(IPC) 二.Netcat 网络瑞士军刀 三.第三方 App 与 Termux 建立 TCP/Socket 通信 四.应用:调用 LSP 语言服务器 参见 ...

  9. Python入门学习介绍

    什么是Python? Python它是一种直译式,面向对象,解释式的脚本语言.它和Java,C/C++,Go语言一样都是高级语言,但由于它是解释式语言,所以运行速度会比Java,C/C++等语言慢(虽 ...

  10. JS --函数进阶 --手稿