short
32ビットシステムでsを使用する方が、sを使用するよりも非効率的であると聞きましたint
。int
これは64ビットシステムのs でも同じですか?
Pythonは最近(?)基本的にint
sをマージしlong
、基本的に単一のデータ型を持っていlong
ますよね?あなたがあなたのアプリを確信しているなら。その場合、64ビットでのみ実行されますが、Javaのすべてに長く使用することも考えられますか(おそらく良い考えです)?
short
32ビットシステムでsを使用する方が、sを使用するよりも非効率的であると聞きましたint
。int
これは64ビットシステムのs でも同じですか?
Pythonは最近(?)基本的にint
sをマージしlong
、基本的に単一のデータ型を持っていlong
ますよね?あなたがあなたのアプリを確信しているなら。その場合、64ビットでのみ実行されますが、Javaのすべてに長く使用することも考えられますか(おそらく良い考えです)?
Pythonlong
の精度は任意であり、64ビットではありません。Python 3がに変更さlong
れたint
ため、任意精度の整数型は1つだけになり、プログラマーの作業を大幅に節約できます。Javaのintは32ビット、longは64ビットです。64ビットプロセッサは、通常、64ビット整数で32ビットプロセッサよりも優れたパフォーマンスを発揮します。
64ビットプラットフォームで32ビット整数を使用することは、少なくともx64では高価ではありません。パフォーマンス上の理由から、Javaで32ビットから64ビットのintを選択したり、その逆を選択したりすることは意味がありません。1つの64ビット整数ではなく2つの32ビット整数を使用した場合は、何があっても遅くなります。同様に、32ビットを使用できたはずの64ビットを使用すると、一部のプラットフォームでは速度が低下します。つまり、問題のあるドメインに適したデータ型を使用してください。
あなたがあなたのアプリを確信しているなら。その場合、64ビットでのみ実行されますが、Javaのすべてに長く使用することも考えられますか(おそらく良い考えです)?
悪い考え、IMO
int
64ビットJVMの使用と使用に違いがあるとしても(これは非常に疑わしいlong
と思います)、すべてに使用することを保証するために依存しているライブラリを含め、アプリケーション全体で十分に重要ではありません。 long
そして、いくつかの潜在的な問題があります:
long[]
対に対しては、より多くのメモリを使用しますint[]
。 (パフォーマンスに大きな違いがないと思う理由は、問題がある場合は、整列されていないint-32をフェッチして格納することです。しかし、そうであれば、JVM設計者は次のことを確認する可能性があります。 int-32フィールドは常に64ビットワードアドレスに配置されます。JVMは通常、32ビットアーキテクチャのint-8およびint-16でこれをすでに実行しています...)