对于我的C++程序,我用jobs.yml
,其中包含有关YAML格式类似的职位信息:YAML数据库
141647523:
JobType: Turbo
LocalJobID: 16773779.0
Status: Done
SystemPriority: 0.0
UserPriority: 8.0
然后我用yaml-cpp库解析文件和铸造作业C++ Job
对象。由于jobs.yml
(〜900Mb)的大尺寸,我无法在程序开始时一次读取所有文件并存储在RAM
中。
我该如何克服这个障碍? 我想我应该将jobs.yml
转换为数据库,并在程序中通过sql
请求获取所需数据?在这种情况下我应该怎么做?
或者也许有更简单的解决方案?
flyx在下面有一个很好的答案,但也要考虑一个1 GB的YAML文件可能不是最有效的解决方案。考虑二进制格式(例如SQLite或其他) - 您可能会在文件大小和加载时间方面节省大量成本。 –
@JesseBeder你有教程或一些例子如何使用'YAML :: Parser.HandleNextDocument'? –