Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between x86 and x64

Tags:

java

What is the difference between x86 and x64 binaries here, we would like to download binaries for Windows 7, Ubuntu 12.04 (32 bit options)

like image 402
Joe Avatar asked Aug 31 '12 05:08

Joe


People also ask

Which is better x64 or x86?

x64 processors work more efficiently than an x86 processor when dealing a large amount of data If you are using a 64-bit Windows PC, you can find a folder named Program Files (x86) on the C drive.

Can x86 be 64-bit?

x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

How do you know if you have x86 or x64?

Open the Settings app. Navigate to System > About. On the right, check out the System type value. It shows either a x86-based processor (32-bit), x64-based processor (64-bit), or ARM-based processor depending on the hardware you have.

Which is faster x86 or x64?

To my surprise, I found that x64 was about 3 times faster than x86. I used VS 2012 Ultimate compiled for release and run as a standalone app without debugging. This is a WinForm application with a button and 2 text boxes. In the x64 version takes about 120 ms to complete, while the x86 build takes about 350 ms.


9 Answers

x86 is for a 32-bit OS, and x64 is for a 64-bit OS

like image 197
annonymously Avatar answered Oct 05 '22 16:10

annonymously


The difference is that Java binaries compiled as x86 (32-bit) or x64 (64-bit) applications respectively.

On a 64-bit Windows you can use either version, since x86 will run in WOW64 mode. On a 32-bit Windows you should use only x86 obviously.

For a Linux you should select appropriate type x86 for 32-bit OS, and x64 for 64-bit OS.

like image 39
Petr Abdulin Avatar answered Oct 05 '22 15:10

Petr Abdulin


x86 is a 32 bit instruction set, x86_64 is a 64 bit instruction set... the difference is simple architecture. in case of windows os you better use the x86/32bit version for compatibility issues. in case of Linux you will not be able to use a 64 bit s/w if the os does not have the long mode flag.

Whatever I recommend if you have a windows 7 32 bit OS then go for 32bit or x86 binaries and as for Ubuntu 12.04 use command uname -a or grep lm /proc/cpuinfo (grep lm /proc/cpuinfo does not return value for 32 bit as 32 bit os does not has the cpuinfo flag) to know the architecture OS your OS then use the binaries according to your OS.

** Note. Remember you can always install 64 bit os in 32 bit system as long as it supports enhanced 64 bit.. 64 bit os works better some times for multi purpose work and also supports more ram than 32bits. also you can install 32bit s/w in 64 bit os..

** OS = Operating system.

like image 39
Maity Avatar answered Oct 05 '22 15:10

Maity


x86 is a family of backward-compatible instruction set architectures based on the Intel 8086 CPU and its Intel 8088 variant.

An instruction set architecture (ISA) is an abstract model of a computer. It is also referred to as architecture or computer architecture.

A realization of an ISA is called an implementation. An ISA permits multiple implementations that may vary in performance, physical size, and monetary cost (among other things); because the ISA serves as the interface between software and hardware.

Software that has been written for an ISA can run on different implementations of the same ISA (Exp: 32bit or 64bit). This has enabled binary compatibility between different generations of computers to be easily achieved, and the development of computer families.

Both of these developments have helped to lower the cost of computers and to increase their applicability. For these reasons, the ISA is one of the most important abstractions in computing today.

like image 25
Abdallah Okasha Avatar answered Oct 05 '22 15:10

Abdallah Okasha


x86

  • x86 is 32-bit instruction.
  • 32-bit processor cannot have 64-bit version of an OS installed.
  • It emerged from intel 8086 processor
  • Only 4GB addressable memory limit.
  • It can be accessed only for 2 cores.
  • Less flexible and less secure
  • Amount of virtual memory is less
  • X86 Applications are compatible with both x86 and x64 systems.
  • X86 having an architectural interface used by intel Require using more registers to split and store the value.

x64

  • x64 is 64-bit instruction.
  • Many 32-bit programs work with 64-bit processors and OS.
  • It came as an extension to x86 by AMD
  • Maximum 8TB (As of 2018).
  • It allows computers to access up to either 8 to 12 cores.
  • Efficient and secure.
  • Amount of virtual memory is larger.
  • Compiling for x64 gives an advantage in speed only in 64bit OS.
  • X64 has an architectural interface used by AMD.
  • Values are larger than can be stored.
like image 30
Umair Jam Avatar answered Oct 05 '22 16:10

Umair Jam


If you download Java Development Kit(JDK) then there is a difference as it contains native libraries which differ for different architectures:

  • x86 is for 32-bit OS
  • x64 is for 64-bit OS

In addition you can use 32-bit JDK(x86) on 64-bit OS. But you can not use 64-bit JDK on 32-bit OS.

At the same time you can run compiled Java classes on any JVM. It does not matter whether it 32 or 64-bit.

like image 20
Oakim Avatar answered Oct 05 '22 16:10

Oakim


Oddly enough it was an Intel thing not a Microsoft thing. X86 referred to the Intel CPU series from the 8086 to the 80486. The Pentium series still use the same addressing system. The x64 refers to the I64 addressing system that Intel came out with later for the 64-bit CPUs. So Windows was just following Intel's architecture naming.

like image 36
Dale Krause Avatar answered Oct 05 '22 16:10

Dale Krause


x64 is a generic name for the 64-bit extensions to Intel's and AMD's 32-bit x86 instruction set architecture (ISA). AMD introduced the first version of x64, initially called x86-64 and later renamed AMD64. Intel named their implementation IA-32e and then EMT64.

like image 29
hsyn Avatar answered Oct 05 '22 15:10

hsyn


When it comes to memory usage, x86 is limited to circa 3 / 3,5 Gb, while x64 works fine with 4 Gb and more.

Moreover, when it comes to Windows, x86 will run on both X86 and x64 processors, while x64 requires x64 processor only.

like image 26
Aleksander Sokyrko Avatar answered Oct 05 '22 17:10

Aleksander Sokyrko