Pentium D与i5的巨大性能差异(Infragistics UltraCombo control v10.3)

时间:2014-08-08 00:19:49

标签: c# winforms intel infragistics

我在WinForm上使用UltraCombo控件(Infragistics v10.3)。代码是c#并构建在.Net 4.0上。我有一个58,000项的列表,我绑定到控件。这是代码:

在表单加载事件中:

for (int i = 0; i < 58000; i++)
{
    Requester r = new Requester();
    r.AccountId = i;
    r.AccountNumber = i.ToString();
    r.ContactGroupId = i;
    r.Deactivated = false;
    r.DefaultContactId = i;
    r.FacilityId = i;
    r.PriceModelId = i;
    r.RequesterId = i;
    r.RequesterName = Guid.NewGuid().ToString();
    r.RequesterTypeId = i;

    requesters.Add(r);
}

在控件的BeforeDropDown事件中:

if (!_requestersLoaded)
{
    var currentRequester = string.Empty;
    requesterUltraCombo.DataSource = requesters.OrderBy(t => t.RequesterName).ToList<Requester>();
    requesterUltraCombo.Text = currentRequester;
}

请求者类本身非常简单:

public class Requester
{
    public Requester(){}

    public int AccountId { get; set; }
    public string AccountNumber { get; set; }
    public int ContactGroupId { get; set; }
    public bool Deactivated { get; set; }
    public int? DefaultContactId { get; set; }
    public int? FacilityId { get; set; }
    public int PriceModelId { get; set; }
    public int RequesterId { get; set; }
    public string RequesterName { get; set; }
    public int RequesterTypeId { get; set; }
}

BeforeDropdown事件中的代码在Pentium i5 2.6 GHz上执行大约5-6秒,并且亲和力设置为仅1核。出于这个问题的目的,这种性能水平是完全可以接受的。

在双Pentium D 3 GHz上,相同的代码在20-25秒内执行,并且两个CPU都设置了相关性。当亲和力设置为仅1个CPU时,它甚至更慢。

我认为差异与CPU有关,但是,我不确定CPU的哪些方面可能是这里的主要原因?这不是我的专业领域。

它是Pentium D上缓慢的缓存吗? 是不是Pentium D没有单独的数据和指令缓存? Pentium D不使用超线程吗? 它是否是这些方面的一些组合,还有其他方面?我认为情况可能就是这样。

0 个答案:

没有答案