位置: 编程技术 - 正文

利用ctypes提高Python的执行速度

编辑:rootadmin

推荐整理分享利用ctypes提高Python的执行速度,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

ctypes是Python的外部函数库。它提供了C兼容的数据类型,并且允许调用动态链接库/共享库中的函数。它可以将这些库包装起来给Python使用。这个引入C语言的接口可以帮助我们做很多事情,比如需要调用C代码的来提高性能的一些小型问题。通过它你可以接入Windows系统上的 kernel.dll 和 msvcrt.dll 动态链接库,以及Linux系统上的 libc.so.6 库。当然你也可以使用自己的编译好的共享库

我们先来看一个简单的例子 我们使用 Python 求 以内素数,重复这个过程次,并计算运行时间。

输出

下面用C语言写一个的 check_prime 函数,然后把它当作共享库(动态链接库)导入

使用以下命令生成 .so (shared object)文件

输出

我们可以看到很明显的性能差距 这里有更多的方法去判断一个数是否是素数

利用ctypes提高Python的执行速度

再来看一个复杂点的例子 快速排序

mylib.c

使用ctypes有一个麻烦点的地方是原生的C代码使用的类型可能跟Python不能明确的对应上来。比如这里什么是Python中的数组?列表?还是 array 模块中的一个数组。所以我们需要进行转换

test.py

输出

与Python list 的 sort 方法进行对比

输出

至于结构体,需要定义一个类,包含相应的字段和类型

除了导入我们自己写的C语言扩展文件,我们还可以直接导入系统提供的库文件,比如linux下c标准库的实现 glibc

输出

总结

标签: 利用ctypes提高Python的执行速度

本文链接地址:https://www.jiuchutong.com/biancheng/385406.html 转载请保留说明!

上一篇:python实现批量监控网站(python批量ping)

下一篇:Python随机数random模块使用指南(python随机数random.choice)

  • 税控盘服务费全额抵扣分录
  • 出口货物退税是指
  • 定额备用金与非定额备用金的会计分录
  • 民办非企业工会经费
  • 个体工商户网上注销
  • 一般纳税人拿到小规模的专票
  • 股份制改造而发生的资产评估增值税法规定
  • 软件企业的工资怎么样
  • 固定资产年数总额法
  • 企业所得税分公司先报还是总部先报
  • 印鉴变更手续费50元
  • 发放独生子女津贴的条件
  • 设备折旧后的价值
  • 个税手续费返还比例
  • 简易注销还要去找专管员
  • 公司与股东的往来款涉税
  • 境内公司购买境外公司服务 缴税
  • 人力资源部报销购买办公家具款
  • 季报的利润表是填本期金额还是本年
  • 汇算清缴纳税调整项目明细表怎么填
  • 捐赠所得税视同销售怎么处理
  • 房屋租赁公司和公寓管理公司区别是什么
  • 什么是应收
  • 在Linux系统中安装了一块虚拟磁盘大小的2G
  • macos12支持设备
  • 稳定用工社保补贴和岗位补贴多久发下来
  • 投资收益或亏损影响营业利润吗
  • unix和linux适用于
  • php字符串操作函数
  • php数组函数 菜鸟
  • dwm.exe是啥
  • PHP:pcntl_wifstopped()的用法_PCNTL函数
  • 跨期摊提类账户
  • uniapp引入bootstrap
  • 正爬上唐娜·诺克沙滩的灰海豹,英格兰北林肯郡 (© Frederic Desmette/Minden Pictures)
  • 有关预收账款的会计科目
  • html转xhtml
  • 凯丽温泉可以做spa
  • 开发商违法
  • 什么是加计扣除政策
  • springboot集成clickhouse
  • 前端微信小程序支付功能怎么实现
  • gunzip命令压缩
  • 什么叫坏账准备
  • 工程发票可以开清单吗?
  • 织梦相关文章调用
  • 房产税和城镇土地使用税需要计提吗
  • 施工企业的内部往来
  • 税金及附加如何预测
  • 新《准则》适用对象为
  • 加强mysql安全
  • 教育培训行业税目分类
  • 企业弥补亏损的会计分录
  • 股东撤资如何退还资金,用途写什么
  • 物流费属于什么会计科目
  • 公司办公室买的茶叶怎么入账
  • 长期借款的账务处理会计分录
  • 如何理解事业单位处罚暂行条例中第十八条的兼职规定
  • 缴纳个人社保在哪里查询
  • 年数总和法和双倍余额递减法的公式
  • sql server 约束
  • Windows Server 2003环境更改Boot.ini文件
  • winxp教程
  • linux的hostname(主机名)修改详解
  • XP系统升级WIN7系统
  • js下拉加载
  • bat删除所有文件
  • 浏览器css3兼容
  • unity3d spine
  • 用jquery实现局部刷新
  • unity3d quaternion
  • js设置图片边框
  • excel自定义控件
  • android混淆后怎么破解
  • 税务工商指的是什么
  • 查博士报告怎么查真假
  • 小规模开票税金怎么算
  • 国税手撕发票图片
  • 小微企业印花税减半政策
  • 各地税务机关
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设