c++ - 处理大文件和内存管理
问题描述
我试图读取和解析(使用 nlohmann 库)一个Json
几乎90MB
使用此代码的文件:
std::ifstream ifs("data.json");
json jsonFile = json::parse(ifs);
要解析的Json
文件有将近14000 个数组元素需要解析。当我运行此代码时,我的程序的内存使用量会上升,直到达到2GB
内存!对于像这样的小程序来说,这是非常出乎意料和巨大的。
我该如何管理内存使用?使用其他方法获取文件数据然后将其传递给库会更好吗?
解决方案
推荐阅读
- android - 更新 androidx 库时 APK 大小增加?
- c# - 从引用的程序集自动生成主要方法
- python - 我需要为简单的 python 脚本使用数据库吗?
- android-studio - 方法 setText() 必须从 UI Thread 调用,目前推断线程为工作线程
- mysql - mysql - 获取最新可接受差距的日期
- android - 如何使用 C++ 类在 Android NDK 中获取屏幕 DPI (PPI)?
- javascript - div CSS 加载动画没有显示?
- ios - 如何在 UITests 中引用 MKMapView?
- java - java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法... FirebaseAuth.getCurrentUser()'
- python-3.x - 检测 web3.py 中的还原事务