我目前使用Codeproject中的自定义CSV类来创建一个CSV对象。然后我用它来填充一个DataTable。根据分析,这比我想要的花费更多的时间,我想知道是否有更有效的方法来做到这一点?提高DataTable.Load()性能的方法?
CSV包含约2,500行和500列。
的CSV读者为:http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader
StreamReader s = new StreamReader(confirmedFilePath);
CsvReader csv = new CsvReader(s, true);
DataTable dt = new DataTable();
dt.Load(csv);
我碰到一个谷歌搜索建议DataAdapter的,但它是唯一一个提到这一点?我进一步搜索,但没有找到任何合作。
'根据分析,这比我想要更多的时间'。在做手术时不要分析。分析非常CPU,内存和IO密集型。 – Oded 2012-04-19 13:29:48
我明白,但它与代码的其余部分完全相称。我知道代码运行速度慢了大约5-7倍......所以我可以计算出Load()函数在没有探查器的情况下需要多长时间,并且它仍然有点长。 – mezamorphic 2012-04-19 13:31:18
您可以使用'秒表'来精确计时。 – Oded 2012-04-19 13:33:56