解码文件并读取全部或部分内容是否更好?

时间:2013-07-26 09:57:10

标签: c# xml performance decode

我有一个完全用Base64编码的XML,而不仅仅是节点文本。对于我的程序的一些功能,我只需要从文件中获取几个节点。 XML文件可能包含几百个节点,因此我想知道解码文件并读取少数节点或读取所有内容(以后在程序中稍后需要它)时是否更有效?

编辑:当我说,XML文件包含几百个节点时,没有多个子节点,并且该文件可能包含大约该行数。

更新:当然,这不仅仅是需要多长时间!如果我在RAM中存储超过500个字符串,甚至可能无法使用它会对内存产生什么影响?

1 个答案:

答案 0 :(得分:2)

如果你的xml中有很少的节点,我很确定不会有很大的差异。

但是在genreal中你可以说它取决于用例。如果您需要对节点进行大量工作,则可以更高效地将所有节点加载到速度更快的数据容器(例如字典)中。

原因是Dictionary使用HashTable来存储数据。关于HashTable的上帝的事情是时间复杂性总是O(1) - 与迭代xml的O(n)最大复杂度相比,总是更好。