当前位置: 首页 > news >正文

那里可以建网站全球网站流量查询

那里可以建网站,全球网站流量查询,经典微网站,青岛房产网官网首页MicroPython使用多种优化方法来节省RAM,同时确保程序的高效执行,本文会讨论其中的一些优化。 提示: MicroPython 字符串驻留(string interning) 和映射和字典(Maps and Dictionaries) 详细介绍了对字符串和字典的其他…

MicroPython使用多种优化方法来节省RAM,同时确保程序的高效执行,本文会讨论其中的一些优化。

提示:

MicroPython 字符串驻留(string interning) 和映射和字典(Maps and Dictionaries) 详细介绍了对字符串和字典的其他优化。

冻结字节码

MicroPython从文件系统加载Python代码时,首先将文件解析为临时的内存表示形式,然后生成字节码供执行,这两个过程都存储在堆(RAM)中。这会导致大量内存被占用。MicroPython交叉编译器可用于生成一个.mpy 文件,其中包含Python模块的预编译字节码,虽然该文件仍将被加载到RAM中,但避免了解析阶段的额外开销。

作为进一步优化.mby文件中的预编译字节码可以 "冻结 "到固件映像文件中,作为主固件编译过程的一部分,这意味着字节码将从 ROM 中执行。这将大大节省内存,并减少堆碎片。

更多信息,可参阅 MicroPython的Manifest文件介绍。

变量

MicroPython 对局部变量和全局变量的处理方式不同。全局变量存储在堆上的全局字典中(注意,每个模块都有自己独立的字典,因此是独立的命名空间)。而局部变量则存储在 Python 的值栈中,它可能存在于C堆栈中,也可能存在于堆中。通过 Python栈中的偏移量可以直接访问它们,这比在字典中进行全局查找更有效。

因为标识符存储在RAM中,所以全局变量名的长度也会影响RAM的使用量,标识符越短,使用的内存就越少。

另一方面,以下划线开头的const变量被视为适当的常量,不会分配或添加到 字典中,因此可以节省一些内存。这些变量使用MicroPython库的const()方法,因此:

from micropython import constX = const(1)
_Y = const(2)
foo(X, _Y)

会编译为:

X = 1
foo(1, 2)

内存分配

大多数常见的MicroPython结构都不在堆上分配,不过,以下结构体可以在堆上分配:

  • 动态数据结构,如列表、映射等
  • 函数、类和对象实例
  • 导入
  • 全局变量的首次赋值(在全局 dict 中创建槽)

有关以用户为中心的优化视角的详细讨论,请参阅MicroPython性能调优。

http://www.hotlads.com/news/767.html

相关文章:

  • 网站如何为关键词做外链qq群引流推广软件
  • 淘宝网站怎么做网站外链群发软件
  • 珠宝网站建设公司体彩足球竞彩比赛结果韩国比分
  • 零基础学做网站难吗网站推广方案
  • 在线做插画的网站怎么做营销
  • 网站建设与服务考试今日热点新闻视频
  • 网络优化与维护是做什么短视频矩阵seo系统源码
  • 网站建设一定要公司吗百度提交入口的网址
  • 网站制作一键生成新冠不易感染三种人
  • 河北省住房城乡建设局网站百度竞价排名软件
  • 委托别人做网站 域名所有权seo神器
  • 怎样用网站做单笔外贸爱站权重
  • 做网站去哪里找168推广网
  • 合肥网站优化公司企业广告宣传
  • 在哪做网站建设关键词首页排名优化价格
  • 企业网站建设怎么做成人编程培训机构排名前十
  • dede电影网站模板外链在线发布工具
  • wordpress快速建站教程广东云浮疫情最新情况
  • 简述php网站开发流程大白兔网络营销策划书
  • 大连中山网站建设关键词推广方式
  • wordpress首页缩略图大小seo搜索优化软件
  • 网站建设个人网站南昌seo顾问
  • 公司注册信息查询关键词优化一般收费价格
  • 公司网站的留言板怎么做建网站公司
  • 上海建筑建材业网站迁移如何联系百度客服
  • 建设河南分行网站百度关键词首页排名怎么上
  • 宁波做网站有哪些公司公司网络推广工作好干吗
  • 电子商务网站建设课程的心得互联网营销案例
  • 博罗县建设局网站快速排名推荐
  • 河南宏业建设管理有限公司网站网上宣传方法有哪些