0

我正在编写一些性能很重要的代码。在其中的一部分中,我必须将一大组预先计算的数据与动态值进行比较。目前,我将预先计算的数据存储在 .cs 文件中的一个巨大数组中:

Data[] data = { /* my data  set */ };

数据集大约 90kb,或大约 13k 个元素。我想知道这样做是否有任何缺点,而不是从外部文件加载它?我不完全确定 C# 在内部是如何工作的,所以我只是想了解使用此方法可能遇到的任何性能问题。

4

2 回答 2

5

好吧,说实话,90kb 并没有那么大。对于这种大小的数组,无论哪种方式,您都不会看到任何明显的差异。

一般来说,如果你有一个巨大的数组,我不建议将它存储在源文件中。运行时性能可能不是问题,但我可以看到它会减慢编译速度。

从设计的角度来看,决定可能归结为数据是否会改变。如果您正在存储某种类型文件的字节头,那么将其存储在源中可能是合理的,因为它永远不会改变。但是,一些预先计算的数据,特别是如果您以后可能再次生成它,您可能应该将它放在一个外部文件中。

于 2012-12-07T04:27:07.447 回答
1

坏的:

  • 修改硬编码的数据集很麻烦

好的:

  • 由于用户错误,您可以避免数据文件不存在、损坏或格式错误等愚蠢的事情。
  • 不必加载/解析数据

旁注: 如果您担心性能,请确保使用数组,而不是列表:数组与列表的性能

于 2012-12-07T04:59:46.917 回答