c – 巨大的.cpp文件比从文本文件中读取更好吗?

c – 巨大的.cpp文件比从文本文件中读取更好吗?,第1张

概述简单地创建一个真正巨大的源文件是一个合理的优化,它可以手动初始化具有数十万个值的向量?而不是将具有相同值的文本文件解析为向量? 对不起,这可能措辞得更好.解析文本文件的函数非常慢,因为C的流读取非常慢(在C#版本中大约需要6分钟而不是大约6秒). 将大规模数组初始化文件作为合法解决方案吗?它似乎不优雅,但如果它更快,那么我认为它更好? 这是文件读取代码: //parses the text pat 简单地创建一个真正巨大的源文件是一个合理的优化,它可以手动初始化具有数十万个值的向量?而不是将具有相同值的文本文件解析为向量?

对不起,这可能措辞得更好.解析文本文件的函数非常慢,因为C的流读取非常慢(在C#版本中大约需要6分钟而不是大约6秒).

将大规模数组初始化文件作为合法解决方案吗?它似乎不优雅,但如果它更快,那么我认为它更好?

这是文件读取代码:

//parses the text path vector into the engine    voID Level::PopulatePathVectors(string pathtable)    {        // Read the file line by line.        ifstream myfile(pathtable);            for (unsigned int i = 0; i < nodes.size(); i++)            {                pathLookupVectors.push_back(vector<vector<int>>());                for (unsigned int j = 0; j < nodes.size(); j++)                {                    string line;                    if (getline(myfile,line)) //enter if a line is read successfully                    {                        stringstream ss(line);                        istream_iterator<int> begin(ss),end;                        pathLookupVectors[i].push_back(vector<int>(begin,end));                    }                }            }        myfile.close();    }

来自文本文件的样本行(其中有大约五十万行类似格式但长度不同.

0 5 3 12 65 87 n
解决方法 6分钟vs 6秒!!一定是你的C代码有问题.在您恢复到帖子中提到的极端“优化”之前,使用好的旧方法对其进行优化.

还要知道从文件读取将允许您更改矢量内容而不更改源代码.如果按照你提到的方式进行,你将不得不重新编码,再次编译n链接.

总结

以上是内存溢出为你收集整理的c – 巨大的.cpp文件比从文本文件中读取更好吗?全部内容,希望文章能够帮你解决c – 巨大的.cpp文件比从文本文件中读取更好吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1214229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存