
Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata. Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!) *Greg*

"it's an x64 world and it creates a better impression"
*the 2000's called and they want their outdated assumptions back* regards, Preet, in Auckland NZ On Thu, 13 Oct 2022 at 11:48, Greg Keogh via ozdotnet <ozdotnet@ozdotnet.com> wrote:
Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata.
Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!)
*Greg* -- ozdotnet mailing list To manage your subscription, access archives: https://codify.mailman3.com/

My understanding is that you target what you want to support, so if he's only shipping fully managed code and supporting x64 systems then it doesn't matter too much but in that case may be sidelining x86 or ARM users for no real reason. It gets more complicated if you need to support multiple architectures or have unmanaged dependencies where you need to match the bitness of the dependencies with the application process, this is where AnyCPU and AnyCPU (32-bit preferred) options will start to shine. https://dzone.com/articles/what-anycpu-really-means-net -Tony On 13/10/2022 08:45, Greg Keogh via ozdotnet wrote:
Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata.
Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!)
/Greg/

Sneak some x86 test cases into the build and have it break. On Thu, 13 Oct 2022, 11:07 Tony McGee via ozdotnet, <ozdotnet@ozdotnet.com> wrote:
My understanding is that you target what you want to support, so if he's only shipping fully managed code and supporting x64 systems then it doesn't matter too much but in that case may be sidelining x86 or ARM users for no real reason. It gets more complicated if you need to support multiple architectures or have unmanaged dependencies where you need to match the bitness of the dependencies with the application process, this is where AnyCPU and AnyCPU (32-bit preferred) options will start to shine.
https://dzone.com/articles/what-anycpu-really-means-net
-Tony
On 13/10/2022 08:45, Greg Keogh via ozdotnet wrote:
Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata.
Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!)
*Greg*
-- ozdotnet mailing list To manage your subscription, access archives: https://codify.mailman3.com/

Do you actually support/ship your app to run on x86-only or ARM environments? If not, it probably doesn’t matter and I would probably give this one and save the battles for other things. From: Greg Keogh via ozdotnet <ozdotnet@ozdotnet.com> Sent: Thursday, October 13, 2022 9:46 AM To: ozDotNet <ozdotnet@ozdotnet.com> Cc: Greg Keogh <gfkeogh@gmail.com> Subject: Platform x64 argument Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata. Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!) Greg

Yes, I was wondering the same thing David. I can’t recall the last time I worked on a 32 bit machine. Regards, Greg Dr Greg Low 1300SQLSQL (1300 775 775) office | +61 419201410 mobile SQL Down Under | Web: https://sqldownunder.com<https://sqldownunder.com/> | About Greg: https://about.me/greg.low From: David Kean via ozdotnet <ozdotnet@ozdotnet.com> Sent: Thursday, 13 October 2022 3:13 PM To: ozDotNet <ozdotnet@ozdotnet.com> Cc: Greg Keogh <gfkeogh@gmail.com>; David Kean <David.Kean@microsoft.com> Subject: RE: Platform x64 argument Do you actually support/ship your app to run on x86-only or ARM environments? If not, it probably doesn’t matter and I would probably give this one and save the battles for other things. From: Greg Keogh via ozdotnet <ozdotnet@ozdotnet.com<mailto:ozdotnet@ozdotnet.com>> Sent: Thursday, October 13, 2022 9:46 AM To: ozDotNet <ozdotnet@ozdotnet.com<mailto:ozdotnet@ozdotnet.com>> Cc: Greg Keogh <gfkeogh@gmail.com<mailto:gfkeogh@gmail.com>> Subject: Platform x64 argument Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata. Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!) Greg

How's x64 emulation going on Windows on ARM these days? Last time I looked it was garbage. David Connors david@connors.com | M +61 417 189 363 Telegram: https://t.me/davidconnors LinkedIn: http://au.linkedin.com/in/davidjohnconnors On Thu, 13 Oct 2022 at 14:30, Dr Greg Low via ozdotnet < ozdotnet@ozdotnet.com> wrote:
Yes, I was wondering the same thing David. I can’t recall the last time I worked on a 32 bit machine.
Regards,
Greg
Dr Greg Low
1300SQLSQL (1300 775 775) office | +61 419201410 mobile
SQL Down Under | Web: https://sqldownunder.com | About Greg: https://about.me/greg.low
*From:* David Kean via ozdotnet <ozdotnet@ozdotnet.com> *Sent:* Thursday, 13 October 2022 3:13 PM *To:* ozDotNet <ozdotnet@ozdotnet.com> *Cc:* Greg Keogh <gfkeogh@gmail.com>; David Kean <David.Kean@microsoft.com
*Subject:* RE: Platform x64 argument
Do you actually support/ship your app to run on x86-only or ARM environments? If not, it probably doesn’t matter and I would probably give this one and save the battles for other things.
*From:* Greg Keogh via ozdotnet <ozdotnet@ozdotnet.com> *Sent:* Thursday, October 13, 2022 9:46 AM *To:* ozDotNet <ozdotnet@ozdotnet.com> *Cc:* Greg Keogh <gfkeogh@gmail.com> *Subject:* Platform x64 argument
Folks, one of my colleagues insists on compiling everything as platform x64 mainly because he thinks "it's an x64 world and it creates a better impression". For a year I've tried to convince him that for managed code that it's a complete waste of time. I've told him that ildasm.exe shows that for x64 and AnyCPU the generated IL and the manifests are identical, I even told him that dumpbin.exe shows the only non trivial difference in the PE headers is a couple of flags that show x86/x64 and PE32/PE32+, but they don't affect the loading and running of a PE containing IL and metadata.
Does anyone have paradigm-shattering evidence I can give my colleague to break his habit? (I'm hoping I'm right of course!!)
*Greg* -- ozdotnet mailing list To manage your subscription, access archives: https://codify.mailman3.com/
participants (7)
-
David Connors
-
David Kean
-
Dr Greg Low
-
Greg Keogh
-
mike smith
-
Preet Sangha
-
Tony McGee