Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在本地存储csv数据以供c+使用的最有效方法是什么+;动态链接库?_C++_C++14 - Fatal编程技术网

C++ 在本地存储csv数据以供c+使用的最有效方法是什么+;动态链接库?

C++ 在本地存储csv数据以供c+使用的最有效方法是什么+;动态链接库?,c++,c++14,C++,C++14,我有一个5MB的csv文件。我的dll将通过此csv并将其处理为地图 现在,我的问题是,每当我重新启动dll调用程序时,csv就会再次下载。这非常耗时。我知道我可以在本地存储此csv。但即使如此,每次重新加载程序时,我都必须解析这个csv来映射。我的csv文件大约有75000行。是否有一种更有效的方法来存储解析后的数据,以便在dll中随时使用 注意:自每日更新后,此csv需要每天下载。您可以将地图序列化为文件并加载该文件,如果这会节省你在解析中花费的时间,C++就不存在将串行CSV数据结构序列化

我有一个5MB的csv文件。我的dll将通过此csv并将其处理为地图

现在,我的问题是,每当我重新启动dll调用程序时,csv就会再次下载。这非常耗时。我知道我可以在本地存储此csv。但即使如此,每次重新加载程序时,我都必须解析这个csv来映射。我的csv文件大约有75000行。是否有一种更有效的方法来存储解析后的数据,以便在dll中随时使用


注意:自每日更新后,此csv需要每天下载。

您可以将地图序列化为文件并加载该文件,如果这会节省你在解析中花费的时间,C++就不存在将串行CSV数据结构序列化到只有75000行的映射中的性能问题。我的意思是不清楚为什么阅读要花很长时间?也许解析算法很慢?或者可能是数据?这里什么被认为是慢的?我们是说几秒钟吗?一分钟还是更多?也许我们需要看一些代码和更好的数据描述。总的来说,我想说的是,你应该专注于优化你的CSV解析系统(但只有当它实际上是一个性能问题时)。编写速度非常慢的解析器非常容易。如果你正在使用IOStreams。。。别说了。如果您正在使用
stoi
或类似的东西来进行数据转换,那么转换速度会非常慢。不要从CSV复制字符串,除非您必须这样做。以此类推。如果您使用的是调试版本而不是发布版本,那么它也可能会很慢。