2009-11-10 78 views
0

我有一个c#代码后面的方法,其中需要从组合件以及子组方法中执行超过10000行。我的问题是如何优化它?它在我的页面中花费了超过40秒的时间加载到我自己设计的GridView中的500行。如何优化

+4

1.找到速度慢的部分,并且2.使速度更快。说真的,一般的优化技术是不值得讨论的,除非你知道代码的哪一部分正在吃东西。 – 2009-11-10 06:15:26

+2

Yeap,这就是所谓的剖析。很好的事情。 – sharptooth 2009-11-10 06:17:10

+0

在为此询问优化问题之前,我建议(并注意)确定某个问题例程需要花费太多时间,并有一个好主意需要多长时间。太多人在没有这些知识的情况下提出优化问题。 – 2009-11-10 15:20:18

回答

7

配置您的代码。这将帮助您确定其速度缓慢的地方。从阅读您的文章开始,优化可能需要很长时间,因为您拥有大量代码和数据。

尽可能虚拟化。您可以尝试先加载50行,显示您的UI,然后异步加载剩余的450行,而不是加载500行。这不会加快您的应用程序,但至少看起来比等待40秒更快。

+0

另外,测试你认为是改进的东西。他们可能不是。 – 2009-11-10 15:17:31

0

This method非常简单,但它可以通过优化确定最有利可图的活动。

如果有一种方法来加快你的程序,它会花费一些时间,比如60%。 如果您在调试器下随机中断它,您有60%的机会捕捉到它。 如果您检查堆栈,并且可能使用了一些状态变量,它会非常精确地告诉您问题是什么。 如果你做了10次,你会看到大约6个样本的问题。