问题标签 [object-serialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
27 浏览

python - 对象序列化是否有助于运行时或初始化加速?

我有一个项目要从 C++ 转换为 Python。该项目最初是由其他人编写的。逻辑描述如下:

“它加载了 20 个纯文本文件,其中每行代表 7 列的记录。然后解析每一行并将所有数据加载到 C++ 向量和映射的对象中。然后使用二进制序列化输出 C++ 向量和映射到相应的 20 个二进制文件”。

我不知道作者使用二进制序列化的目的是什么,但我想可能是由于三个原因:

  1. 与纯文本文件相比,减少了二进制文件的大小
  2. 减少初始化时间,因为系统通过将这些文件加载​​到内存并填充结构来启动。
  3. 除了初始化阶段之外,它可能会在运行时加速,尽管可能性很小。

我对对象序列化的经验很少,当我现在用python重写它时,我不知道我是否应该使用对象序列化。在 Python 中,对象序列化是显着加快程序速度,还是减少了存储在磁盘上的文件大小?还是有什么其他好处?我知道缺点是它使程序更复杂。

在 Python 中实现上述逻辑时,我是否也应该使用对象序列化?