gpt4 book ai didi

c# - AnyCpu 和 x86 之间的执行时间差异很大

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:09 25 4
gpt4 key购买 nike

当我使用我的一个库时,我发现了一些奇怪的东西!我有一个负责读取特定文件类型的类库。它的工作做得很好。

我在两个不同的项目(WPF 和控制台)中使用了这个类库项目中一个类的Read 方法。

我的发现:使用类库在 WPF 应用程序 中读取一个 40MB 的文件需要 17 分钟。但是使用 控制台应用程序 读取同一个文件需要 1 分钟

这是我在两个不同项目中使用的相同代码。

DateTime t1 = DateTime.Now;                             
var geometris = MyLibrary.Read(fileName);
TimeSpan dt1 = DateTime.Now - t1; //dt1: 17min for WPF
//dt1: 1min for Console

我的尝试:我发现控制台应用程序的平台目标是x86,WPF应用程序的目标平台是AnyCpu .所以我将 WPF 的目标平台更改为 x86 并再次运行它。这次执行时间是3min(快了14min)

问题:有谁知道改变目标平台会产生这样的影响?而且我仍然不知道为什么 WPF 应用程序。使用我的库中的相同输入调用相同方法时比控制台慢 2 分钟?

最佳答案

在我的实践中,x86 和 x64 性能之间没有太大差异。在您的情况下,原因可能是不同的 RAM 使用情况;在 x64 模式下,所有对象引用占用两倍的 RAM。

关于c# - AnyCpu 和 x86 之间的执行时间差异很大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15471169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com