micropython程序容量_CPython和MicroPython中的内存使用

本文探讨了Python的两种实现——CPython和MicroPython在内存使用上的差异,特别是在微控制器环境下。MicroPython因其内存效率而适用于资源有限的硬件,而CPython则适合内存充足的系统。通过对创建不同类型的Python对象进行测试,发现MicroPython在内存使用上显著优于CPython,主要原因是MicroPython使用固定大小的堆和更紧凑的对象表示。
摘要由CSDN通过智能技术生成

0818b9ca8b590ca3270a3433284dd417.png

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

在PyCon 2017上,Kavya Joshi关注了Python引用的实现在CPython和MicroPython上的不同。她特别描述了二者在内存使用和处理上的区别。这些不同是使MicroPython能运行在内存严重受限的微控制器上的原因之一,而CPython很难在这种环境上运行。

她在演讲中提到CPython是标准和默认的实现,大家都喜欢并一直在使用它。但在内存使用方面,CPython的声誉并不怎么样。这催生了一些替代方案的产生,MicroPython正是其中之一。

作为“最小最严苛”的替代方案,MicroPython以微控制器作为目标,从而使得Python可以用来控制硬件。MicroPython可以运行在16KB RAM和256KB ROM的设备上;它实现了Python3.4绝大部分的功能。由于诸如元类、多进程这样的内容在微控制器上没有多大意义,所以语言和标准库中的这一部分被删除了。

Joshi说道,CPython和MicroPython在后台颇为相似。它们都是基于堆栈的虚拟机的字节码解释器。它们都是C程序。然而,在内存使用方面,它们却截然相反。

作为一个简单的试验,没有任何形式的基准,她测试了Python3.6和MicroPython1.8在一台4GB运存的系统为64位Ubuntu 16.10的电脑上的表现。测试内容是创建20万个不同类型的对象(整数,字符型ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值