Home  >  Article  >  Backend Development  >  The difference between python64-bit and 32-bit

The difference between python64-bit and 32-bit

(*-*)浩
(*-*)浩Original
2019-06-28 15:23:0414177browse

Python64-bit can use larger memory space. python64-bit can run on 64-bit systems, but cannot run on 32-bit systems. python32-bit is able to run on 32-bit and 64-bit, but has smaller memory space.

The difference between python64-bit and 32-bit

The biggest difference between 64bit software and 32bit software is that 64bit software can operate more than 4GB of memory at the same time. (Recommended learning: Python video tutorial)

Note that the memory here refers to the address space, not physical memory. For example, there is a 10GB database that needs to be sorted. 64bit software can malloc a 10GB space to "put" the entire database into memory and then use any classic sorting algorithm, while 32bit software will crash (out-of-memory) when mallocing.

So programmers of 32-bit software can only use complex algorithms to explicitly read in chunks, sort them locally, write them back to the database, and repeat. Not only is the program complex and difficult to write, but the programmer's algorithm for swapping memory and files may not be as efficient as the OS's automatic processing. On the other hand, the huge memory space of 64bit software may also accelerate the consumption of physical memory and increase addressing overhead, so it may not always improve performance.

Of course, the efficiency of the final system still depends on the size of the physical memory. 64bit only solves the bottleneck of the address space.

What is the difference between 32bCPU and 64bCPU?

First of all, the two instruction sets, number of operands, register names and numbers, etc. are different;

For example, a mov eax, 1 instruction may be the corresponding machine instruction on the 32bCPU It's 0x1201; on a 64-bit machine it's 0x123401. For the machine CPU, the program is just a series of 01 codes lying sequentially in the memory, and the operating system is directly running on the hardware, so you immediately draw the conclusion: 32b CPU can only run 32b operating system, 64 The same goes for bits.

There is nothing wrong with this design in theory. In fact, this is what Intel IA 64 architecture processors do. A 64b CPU can only run a 64b operating system (the operating system itself is also software and a series of instruction sequence).

But then the question arises: I need to upgrade the hardware to speed up. After buying the CPU, do I need to replace all the upper-layer operating system and application software? What about pit discs? The problem caused by this incompatibility of software and hardware is that not many customers will buy this kind of CPU that is not compatible with the original 32b software environment. Therefore, both Intel and AMD later launched CPUs that are compatible with the original 32b software environment - Intel's x86-64 and AMD's amd64.

In other words, the current mainstream 64b processor can run on it 32b and 64b operating systems.

For more Python related technical articles, please visit the Python Tutorial column to learn!

The above is the detailed content of The difference between python64-bit and 32-bit. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn