1

因此,我目前正在使用 MicroPython 开发一个嵌入式设备项目,其中 CPU 周期和内存非常宝贵(在这种情况下,我只有 512k 内存可供使用),并且想找出在设置配置参数时内存效率更高的方法我的项目/设备。

通常在我的大多数项目中,我使用一个静态类,其中包含项目的所有区域都将使用的所有全局配置变量。这些变量存储文件位置、超时、缓冲区大小等内容。现在我知道 Python 没有与 Java/C# 中的这种静态/单例类完全相同的结构,但我一直在使用一个行为非常好的单个模块文件相似的。

现在我的问题是这样的;我目前从 JSON 文件加载所有配置值,并使用 ujson 库 ( https://docs.micropython.org/en/latest/pyboard/library/ujson.html ) 加载它。最终结果是我得到了一个 json 对象,我可以使用它来分配我的变量,如下所示:

ISDEBUG     = json["global"]["isdebug"]
BUFFER_SIZE = json["comms"]["buffersize"]
TIMEOUT     = json["comms"]["timeout"]

鉴于我试图尽可能减少内存使用量,不使用“静态”类/变量并在我需要访问配置项时仅引用 json 对象会更简单/更有效吗?

更大项目的可读性和先前的经验让我想要一个更干净的“静态”配置文件/模块/类,但我想知道我是否无缘无故地在这里双重处理,特别是当我想尽可能减少占用空间时。但另一方面,我不知道 JSON 对象是否会占用更多内存,因为它是一个字典字典,并且不确定如何在不花时间实现两种方式的情况下测试差异。

感谢在这种情况下的任何建议或最佳实践。

4

0 回答 0