對於我的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'? –