Stop fucking doing this

>he still builds *only* a 32-bit binary for his Linux program/game

Nothing makes me rage more. Who has even used a 32-bit version of Linux in the last 10 years?

There is literally no fucking reason to compile anything in 32-bit any more. Even Dwarf Fortress moved to 64-bit finally.

#NotAll32-bitOperatingSystems

A lot of OEMs still ship with a 32bit OS despite coming with a 64bit processor.

literally why though? aren't all drivers 64-bit now?

And if the program doesn't use any 64-bit code? Maybe it's small and meant to fit into as small a footprint as possible? Maybe arbitrarily building a 64-bit binary makes it less efficient?

Why would you want to maintain a multilib system "just because"

256bit bus when?

x86_64 / amd64 is more efficient even when you don't need more than 4 GiB of address space, last but not least because amd64 has TWICE the number of general purpose CPU registers.

In addition to that 32-bit programs running on 64-bit hosts need to load all the libraries twice.

I run a 32 bit linux install, faggot.

Just because you have a powerful computer it doesn't mean everybody else does.

Even 10 year old CPUs support 64-bit

what fucking hardware, user? i need to know this

are you actually on a fucking pentium 3 there

64bit x86 is WAYYYY better than 32bit x86.

nothing to do with memory, just has to do with the fact x86 has a distinct lack of registers and x86_64 increased it significantly, so you no longer need to fetch variables from memory as frequently as you used to.

Not true for some pointer-heavy workloads. However, X32 (x86_64 with 32bit pointers) is always faster.

In all fairness it wasn't using till 5 years ago, but yea I am slow adopter so everyone should be on the 64 bit bus by now.

My high end stuff has made good gains with the extras that 64bit gives, but I have seen my low end stuff just taking 10~20MB for no apparent reason after the switch. Is 64bit block size that wasteful for tiny applications, or are programmers just not trying like they use to? It is seriously adding up to nearly 500MB, granted the new extra 2GB means their is actually more room, but still seems wasteful.

In some quick tests with MinGW64, a 32-bit target actually runs slightly faster when performing huge batches of 4-float and 8-float vector operations. Even if I use AVX for the 64-bit target, the 32-bit target with plain SSE actually runs slightly faster with those 8-float vectors.

No doubt in most real-world applications, the 64-bit binary will end up being faster, but it's not an automatic "64-bit is definitely always faster!" Even in my case, I'd just offer both targets rather than shoehorning everyone into using the 32-bit binaries.

Note that these tests are on dependent operations; in a parallel batch (i.e. updating a shitload of different vectors once rather than a couple vectors a shitload of times), AVX would surely crush SSE.

>x86_64 / amd64 is more efficient even when you don't need more than 4 GiB of address space, last but not least because amd64 has TWICE the number of general purpose CPU registers.
No, the opposite is generally true.
Very few algorithms or code snippets are register starved. The increase in pointer sizes and larger op codes for x64 makes it typically slower because of more cache pressure.

it comes down to more registers, and if you know how the FPU works in x86 you would also know floating point opperations, don't use regular registers and wont get factored into this.

retry the tests with integer heavy arithmetic.

>Very few algorithms or code snippets are register starved.
Emulators frequently are. I've never seen an emulator run slower on x86-64 vs x86.

>"I learned a new word: literally XD"
>"let me see how many posts I can use it in"

You're right, user. Now why don't you figuratively go fuck your wife's son.

You do realize how useless your example is? Not only is MinGW (i.e GCC under wangblows) something nobody in their right mind going use anyway, you're talking about something which doesn't even use the extra general purpose registers in AMD64 as it's doing math in vector registers, which are separate from the general purpose registers.

I will never use shit called 'amd64' that is for sure.

>Who has even used a 32-bit version of Linux in the last 10 years?
The lower end Intel Atom processors still had 32 bit versions into the late 2000s. I have 32 bit Linux on my 2009 netbook.

to be fair, those netbooks can barely do anything except maybe, just maybe open a terminal and run vim
the ram is the bottleneck there

Have you ever used one? Mine has 1 GB of RAM with the possibility to upgrade it to 2 GB and I've only got it to page once with normal web browsing. They're quite capable if you block the JS you don't need.

yes I have briefly, and it was far too slow to be comfortable, this was on lubuntu 14.04
i don't think i can go back to having anything less than 4gb ram