c – 巨大的.cpp文件比从文本文件中读取更好吗?
发布时间:2020-12-16 09:37:53 所属栏目:百科 来源:网络整理
导读:简单地创建一个真正巨大的源文件是一个合理的优化,它可以手动初始化具有数十万个值的向量?而不是将具有相同值的文本文件解析为向量? 对不起,这可能措辞得更好.解析文本文件的函数非常慢,因为C的流读取非常慢(在C#版本中大约需要6分钟而不是大约6秒). 将大
简单地创建一个真正巨大的源文件是一个合理的优化,它可以手动初始化具有数十万个值的向量?而不是将具有相同值的文本文件解析为向量?
对不起,这可能措辞得更好.解析文本文件的函数非常慢,因为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链接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 2013.6.7 配置文件注册,签名,Manifest.xml
- Kettle 使用备忘录:生成xml文件
- c# – DateTime.Now返回奇怪的日期
- iphone – 使用Xcode 5 / iTunes 11的Ad-Hoc部署
- C++中bitset的实现(引用类的使用)
- reactjs – 从Redux数组中删除当前数组元素
- applicationContext.xml 配置文件的一些认识
- ruby-on-rails – rails – hidden_??field和hidden_??fiel
- Ajax-combobox动态绑定数据
- cocos2dx 3d开源项目 fantasyWarrior3D 从零走起 1 [Loadin