【发布时间】:2013-07-26 09:57:10
【问题描述】:
我有一个完全用 Base64 编码的 XML,而不仅仅是节点文本。对于我的程序的某些功能,我只需要从文件中获取几个节点。 XML 文件可能包含几百个节点,所以我想知道是解码文件并读取几个节点还是读取所有内容以便在程序稍后需要时(如果)更有效?
编辑:当我说 XML 文件包含几百个节点时,子节点并不多,文件可能包含大约该数量的行。
更新:当然,这不仅仅是需要多长时间!如果我在 RAM 中存储超过 500 个字符串,甚至可能不会使用,它会对内存产生什么影响?
【问题讨论】:
-
正确的问题是:你在乎吗?如果你正在这样做,例如在响应用户单击“加载 XML”时,从 500 毫秒到 250 毫秒将减少 50%——太棒了!但是用户不会注意到,所以没有意义。
-
@Jon 虽然节点实际上读取速度如此之快,但一个 XML 文件可能有 200 - 500 个节点,每个节点具有两个属性...
-
直觉上我会说它们比这快得多。但正如我所说,你必须回答的第一个问题不是“他们快吗?” ——这是“你在乎吗?”。显而易见的简单解决方案是否足以满足您的需求?如果是,请继续。
-
@Jon - 我手机里的电池现在讨厌你了。
-
@Andy:这类问题只能通过一种方式有效地回答:measure。但是测量是一个复杂的过程,如果不进行定位和改善瓶颈,它是没有意义的。大多数时候人们都在使用他们的直觉而不是衡量甚至考虑瓶颈,这是完全没有意义的(等等等等世界级开发人员的过早优化等等直觉在大多数时候都是错误的等等等等)以及我给出这种类型的原因罐头回应。如果您想要更好的响应,这里是:measure。
标签: c# xml performance decode