【问题标题】:should i build x86 or x64 application for 64 bit windows os? [closed]我应该为 64 位 Windows 操作系统构建 x86 或 x64 应用程序吗? [关闭]
【发布时间】:2018-11-19 05:00:58
【问题描述】:

我在 Dotnet 中有两个项目 (Windows Application -winform) 处理数百万条记录。

  1. 员工管理系统 - Dotnet 4.5 和 Sql server 2008 R2(最大 Db 大小 5 GB,平均 Db 大小 3.5 - 4 GB
  2. 销售和采购管理 - Dotnet 3.5 with SQLCe 3.5(Sql Server Compact Max Db Size 3 GB,Average Db Size 1.5 - 2 GB >)

2014 年发布的两个项目作为 x86 应用程序 也支持 64 位操作系统,并内置于带有 RDLC 的 Visual Studio 2013 用于报告。两个应用程序在财政年度结束时,关闭旧数据库并为新财政年度创建一个新数据库。

由于这两个应用程序都是为目标 cpu x86 应用程序构建的,以支持 64 位操作系统。

现在,我所有的客户都有 64 位 Windows 和良好的配置系统(8 GB 内存和核心 i3 或 i5 cpu)。

我已经浏览了几个 SO 帖子,例如 64 bit vs 32 bit ,但没有找到 解决方案。

我应该构建针对 x64 CPU 或任何 Cpu 的应用程序(这会更好)以提高应用程序性能。是否会影响报告(渲染)性能?

【问题讨论】:

  • “它是否影响报告(渲染)性能” - 取决于。 64 位 Windows 上的 x86 WPF 可能优于在同一计算机 + 操作系统上渲染 x64 WinForms 应用程序。操作系统位数可能会或可能不会影响渲染速度,但无论应用程序是否使用支持硬件加速的 GUI 工具包,都肯定会
  • 应用程序在运行时实际使用了多少内存?数据库大小并不能告诉我们任何事情。
  • 通常在 500 MB 左右,但在渲染和加载 RDLC 报告时会消耗很多(1.5 GB 或可能更高)。当 RDLC 被导出到 doc 或 excel 时,就搞砸了......
  • "...1.5 GB 或可能高于" - 在这种情况下,您应该使用 x64 以获得额外的内存优势。 1.5GB 是 x86 应用程序的默认最大值

标签: c# .net winforms performance-testing


【解决方案1】:

首先,您可以同时构建和基准测试。一般来说,x86 应该更快,因为指针大小更小,但它有内存限制。您的管理系统不太可能达到内存限制。对于这样的系统,可以忽略 x64 和 x86 之间的差异。所以保持原样是安全的:)

【讨论】:

  • 当我尝试将一些报告导出到 .Doc 或 excel 时,它会生成“System.OutofMemoryException”,如stackoverflow.com/questions/45548874中所述
  • 在 64 位窗口中运行相同的应用程序(针对 x86)将有利于 RDLC 报告(渲染/导出)?或者在 32 位 windows 操作系统中使用 x86 应用程序会有好处?
猜你喜欢
  • 2015-08-11
  • 2012-09-01
  • 2011-07-07
  • 1970-01-01
  • 2014-02-05
  • 2010-11-02
  • 1970-01-01
  • 2017-07-17
  • 2012-12-09
相关资源
最近更新 更多