【发布时间】:2012-08-28 17:07:19
【问题描述】:
我有一个如下所示的 C++ 方法/函数
std::string TestWrapImpl::doProcess(std::string dirPath, std::string cmdLine) {
std::string TestWrapVar = "";
// Businesslogic here
// TestWrapVar = {BulkData From Business Logic}
// Sample Bulk Data - "<xml><node01><FNAME>KRISHNA</FNAME></node01>
// <node02><FNAME>KRISHNA</FNAME></node02></xml>"
return TestWrapVar;
}
返回这 2GB 的 XML 内容的最佳数据类型是什么? (也许字符串数据类型不能容纳 2GB 的字符串。)
【问题讨论】:
-
什么平台?多少内存?最明显的答案是将其写入文件并返回文件的路径。
-
目前我在 Linux 和 G++ 中工作。可用内存为 5GB。这里的问题是目前使我的功能成为不同帐户持有人的“每个响应模型的请求”。如果我写入文件,显然我需要维护 accountholder id + uniqueid 作为文件名前缀。其次,我的应用每天有 200 - 1000 次点击。所以 200*2GB = {out of my size in linux box.}
-
调用者可以在文件写入后将其删除。该文件可以存储在内存中(例如
tmpfs)或磁盘上。您可以限制一次允许的此类文件的数量。但我认为您的问题与返回数据的数据类型无关,而与如何管理和表示大型数据集有关。 -
哦!除了文件写入之外,他们有什么办法吗?
-
您希望将其全部保存在内存中吗?如果是这样,您可以使用固定大小块的链表,例如每个 32MB。
标签: c++ function types complex-data-types