我正在写一些性能很重要的代码。在其中的一部分中,我必须将大量预先计算的数据与动态值进行比较。目前,我将预先计算的数据存储在.cs文件中的巨型数组中:
Data[] data = { /* my data set */ };
数据集约为90kb,或大约13k个元素。我想知道这样做是否有任何缺点,而不是从外部文件中加载它?我不完全确定C#是如何在内部工作的,所以我只是想知道我可能遇到的任何性能问题。
答案 0 :(得分:5)
嗯,说实话,90kb并不是那么大。对于那个大小的数组,你不会看到任何明显的差异。
通常,如果你有一个巨大的数组,我不建议将它存储在源文件中。它可能不是运行时性能的问题,但我可以看到它减慢了编译速度。
从设计角度来看,如果数据永远更改,则可能会做出决定。如果你要存储,比如某种类型的文件的字节标题,这可能是合理的存储在源中,因为它永远不会改变。但是,一些预先计算的数据,特别是如果你可以在以后再次生成它,你应该把它放在一个外部文件中。
答案 1 :(得分:1)
<强>为:强>
不可强>
<强>旁注:强> 如果您担心性能,请确保使用数组,而不是List:Performance of Arrays vs. Lists。