【发布时间】:2012-12-23 15:18:24
【问题描述】:
我有一个循环从实时 URL 接收到的 XML 的应用程序。 XML 在几微秒内被接收,然后我循环处理。
我的客户说应用程序占用大量 CPU。
我想知道我是否可以以某种方式减少它的 CPU 使用率?应用程序本身并不大,它只是 XML 字段和常规 if 条件上的一个大循环..
foreach (XmlNode childNode in childNodes)
{
if (childNode.Name == "update_status")
{
update_status = childNode.InnerText;
}
if (childNode.Name == "title")
{
title = childNode.InnerText;
}
上面的代码只有几行。像这样的 IF 语句有很多。
【问题讨论】:
-
请多展示你的代码,那个小sn-ps对我们没有任何帮助。
-
与其猜测,不如直接使用分析器看看时间在哪里使用? jetbrains.com/profiler(10 天免费试用)
-
您是否检查过 CPU 密集型部分(使用跟踪和秒表或分析器)?
-
您确定 CPU 时间用于解析 XML 吗?根据您提供的代码,我猜 CPU 时间在不同的地方泄漏了
-
您可以在此处查看代码:ecsbugtracker.com/demo1/feeds.txt 像 ADDCOUNTRY 这样被调用的函数是数据层函数,用于将数据添加到数据库中。