位置: 编程技术 - 正文

利用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)

  • 计提增值税比实际缴纳多
  • 税金及附加都包含什么
  • 什么是价内税不是重复了吗
  • 税收指的是什么
  • 债务重组无形资产的评估费
  • 这个季度报税时间怎么算
  • 企业所得税中资产总额平均值怎么核算?
  • 物业费按年交有优惠吗
  • 小规模纳税人的起征点是多少
  • 发票商品类别有哪几种
  • 在哪里报个税
  • 如何使用发票对冲个人所得税
  • 固定资产拆除后账务处理
  • 资产报废账务处理资产处置损益
  • 购买印花税票怎么抵扣
  • 外贸企业仍一箱难求
  • 租赁公司运输费计入什么科目
  • 委托加工收回后直接销售的消费税
  • 企业网上申报国税流程
  • 融资租赁的租金包括
  • 单位固定资产出售账务处理
  • 人工费用占销售收入比重
  • 哪些房产免纳房产税
  • 销售返点的账务处理及税务处理
  • 公司账户怎么走账
  • 工资晚发一个月个税怎么申报的
  • 税控盘没清盘怎么处罚
  • 出口的会计分录
  • 审图费发票需要备注吗
  • 劳务派遣公司开票几个点
  • 期末增值税进项税大于销项税的金额计入哪里
  • 公司清理固定资产怎么开票
  • 笔记本电脑预装
  • php对称加密算法实验报告
  • 主营业务收入发票
  • 鸟瞰高耸入云的成语
  • 材料委托加工
  • 应收账款的主要功能包括哪些
  • 秋日里通往卢浮宫的杜乐丽花园,法国巴黎 (© Brian A. Jackson/Getty Images Plus)
  • php 截断
  • php实现验证码
  • Vue中 Vue-Baidu-Map基本使用
  • php yield 异步
  • java代理类是什么
  • 记账凭证后面附发票吗
  • 分公司要不要银行开户
  • 公司开具了电子发票
  • 应付票据的贴现账务处理
  • 未使用的固定资产计提折旧应当计入
  • 残疾人就业保障金减免政策2023
  • 如何移除白名单的电话号码
  • 小型微利企业所得税优惠政策
  • 固定资产折旧费用的账务处理
  • 微信收入构成在哪
  • 按最低标准买社保30年退休后每个月领多少钱
  • 劳务费免税发票怎么开
  • 结转已售材料成本6000元
  • 稽查人员是干嘛的
  • 预付款怎样做会计分录
  • mysql中的字符串函数
  • windows2008 64位系统下MySQL 5.7绿色版的安装教程
  • Win7旗舰版系统文件名称
  • mac命令行终端快捷键
  • mediabrowser.exe是什么
  • win10一年更新几次
  • jQuery中的ajax async同步和异步详解
  • ajax成功不走success
  • Unity3D游戏开发pdf
  • vue router routes
  • 详细的测试用例
  • jquery的使用步骤
  • python中闭包的作用
  • javascript代码大全
  • 国家税务局湖南省电子税务局app下载
  • 保险公司个人所得税扣除标准是多少
  • 进口货物增值税的计算
  • 天猫主体变更是什么意思
  • 公司欠税款,还不上,怎么办
  • 海南海葬需要多少费用
  • 国外高速公路收费站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设