ホームページ  >  記事  >  バックエンド開発  >  Python64ビットと32ビットの違い

Python64ビットと32ビットの違い

(*-*)浩
(*-*)浩オリジナル
2019-06-28 15:23:0414251ブラウズ

Python64 ビットはより大きなメモリ空間を使用できます。Python64 ビットは 64 ビット システムで実行できますが、32 ビット システムでは実行できません。 python32-bit は 32 ビットでも 64 ビットでも実行できますが、メモリ容量は小さくなります。

Python64ビットと32ビットの違い

#64 ビット ソフトウェアと 32 ビット ソフトウェアの最大の違いは、64 ビット ソフトウェアでは 4 GB を超えるメモリを同時に動作できることです。 (推奨学習: Python ビデオ チュートリアル )

ここでのメモリとは、物理メモリではなくアドレス空間を指すことに注意してください。たとえば、並べ替える必要がある 10 GB のデータベースがあるとします。 64 ビット ソフトウェアは、10 GB のスペースを割り当ててデータベース全体をメモリに「配置」し、古典的な並べ替えアルゴリズムを使用できますが、32 ビット ソフトウェアは割り当て時にクラッシュ (メモリ不足) します。

したがって、32 ビット ソフトウェアのプログラマは、複雑なアルゴリズムを使用して、チャンクを明示的に読み取り、ローカルで並べ替え、データベースに書き戻し、これを繰り返すことしかできません。プログラムが複雑で作成が難しいだけでなく、メモリやファイルを交換するプログラマのアルゴリズムは OS の自動処理ほど効率的ではない可能性があります。一方で、64 ビット ソフトウェアの膨大なメモリ空間により、物理メモリの消費が加速し、アドレス指定のオーバーヘッドが増加する可能性があるため、必ずしもパフォーマンスが向上するとは限りません。

もちろん、最終的なシステムの効率は依然として物理メモリのサイズに依存しており、64 ビットではアドレス空間のボトルネックのみが解決されます。

32bCPU と 64bCPU の違いは何ですか?

まず第一に、2 つの命令セット、オペランドの数、レジスタ名と番号などが異なります;

たとえば、moveax, 1 命令は、対応する機械語命令である可能性があります。 32bCPU では 0x1201、64 ビット マシンでは 0x123401 です。マシンの CPU の場合、プログラムはメモリ内に連続して存在する一連の 01 コードにすぎず、オペレーティング システムはハードウェア上で直接実行されているため、すぐに結論が得られます。32b CPU は 32b オペレーティング システムのみを実行でき、64b は同じです。ちょっと行きます。

理論的にはこの設計に何の問題もありません。実際、これがインテル IA 64 アーキテクチャ プロセッサの動作です。64b CPU は 64b オペレーティング システムのみを実行できます (オペレーティング システム自体もソフトウェアであり、シリーズです)命令シーケンスの)。

しかし、速度を上げるためにハードウェアをアップグレードする必要があるという疑問が生じます。CPU を購入した後、上位層のオペレーティング システムとアプリケーション ソフトウェアをすべて置き換える必要があるのでしょうか?ピットディスクはどうですか?ソフトウェアとハ​​ードウェアのこの非互換性によって引き起こされる問題は、元の 32b ソフトウェア環境と互換性のないこの種の CPU を購入する顧客は多くないことです。したがって、Intel と AMD は後に、元の 32b ソフトウェア環境 (Intel の x86-64 と AMD の amd64) と互換性のある CPU を発売しました。

言い換えれば、現在の主流の 64b プロセッサは、32b および 64b オペレーティング システム上で実行できます。システム。

Python 関連の技術記事の詳細については、

Python チュートリアル 列にアクセスして学習してください。

以上がPython64ビットと32ビットの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。