2

I have two project (Windows Application -winform) in Dotnet handling millions of records.

  1. Employee Management System- Dotnet 4.5 with Sql server 2008 R2 (Max Db Size 5 GB, Average Db Size 3.5 - 4 GB)
  2. Sale & Purchase management- Dotnet 3.5 with SQLCe 3.5 (Sql Server Compact Max Db Size 3 GB, Average Db Size 1.5 - 2 GB)

Both of projects published in year 2014 as x86 Application so as to support 64 bit OS also, and built in Visual Studio 2013 with RDLC for reporting. Both Application on financial year closing, close the old database and create a new database for new financial year.

Since both the applications are built for target cpu x86 application to support 64 bit OS.

Now a days, ALL of my clients have 64 bit Windows with good configuration system ( 8 GB ram and core i3 or i5 cpu).

I have gone through several SO post like 64 bit vs 32 bit , but not found solution.

Should i build the application targeting x64 CPU Or Any Cpu (which would be better) to increase the application performance. Does it affect the Reporting (Rendering) performance ?

Admin
  • 173
  • 3
  • 16
  • 2
    [Race your horses](https://ericlippert.com/2012/12/17/performance-rant/) – Filburt Jun 09 '18 at 08:41
  • _"Does it affect the Reporting (Rendering) performance"_ - Depends. An x86 _WPF_ on 64-bit Windows probably outperforms rendering of an x64 _WinForms_ app on the same computer+OS. OS bitness may or may not impact render speed but whether or not the app is using a GUI toolkit that supports hardware-acceleration certainly will –  Jun 09 '18 at 08:57
  • How much memory does the application actually use when running? Db size doesn't tell us anything. – Emond Jun 09 '18 at 10:09
  • Generally around 500 MB, but it consumes A LOT (1.5 GB or may be above) when RDLC reports are rendered and loaded. And make the hell when RDLC is Exported to doc or excel .... – Admin Jun 09 '18 at 10:16
  • _"...1.5 GB or may be above"_ - in that case you **should** be using x64 for the extra memory benefits. 1.5GB is the default max for x86 apps –  Jun 09 '18 at 18:52
  • "1.5GB is the default max for x86 apps" , is it same for 64 bit os ? Means if i run x86 app in 64 bit windows, can it increase from 1.5GB ? – Admin Jun 11 '18 at 05:02
  • No, it can't. This sounds as if you should read quite a bit more on this topic before selecting a course of action. – Emond Jun 11 '18 at 06:29

1 Answers1

2

First of all you can build both and benchmark. In general x86 supposed to be faster due to smaller pointer size but it has memory limitation. This is not very probable that you will hit the memory limit with your management systems. For such systems a difference between x64 and x86 can be neglected. So its safe to keep it as is :)

igorushi
  • 1,855
  • 21
  • 19
  • When i tried to export Some Reports to .Doc or excel it generated 'System.OutofMemoryException' as described in https://stackoverflow.com/questions/45548874 – Admin Jun 09 '18 at 10:12
  • Running same application (targeted to x86) in 64 bit windows will be beneficial for RDLC Reporting (Rendering / Exporting) ? Or it will be beneficial to use x86 Application in 32 bit windows os ? – Admin Jun 09 '18 at 10:14