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