嵌入式设备的静态变量与配置文件

时间:2018-01-21 13:19:30

标签: python json micropython

所以我目前正在使用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对象? / p>

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

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

0 个答案:

没有答案