2012-01-12 9 views
5

64ビットに収まるようにPythonで大きな数値を操作する必要があります。現在、私のコードは64ビットプラットフォーム上で実行されていますが、32ビットプラットフォーム上で実行する必要がありますが、小さくても明確な可能性があります。したがって、longタイプを使用して自分の番号を表すことをお勧めします。 longintタイプ以上に使用した場合の掲載結果の影響があることをご了承ください。どれくらい悪い?私はそれらの上で多くの分割と乗算を実行しますが、その結果もすべて64ビットに収まるはずです。Pythonでlongとintを使用した場合のパフォーマンスへの影響

+1

Pythonはこれを処理しません - また、任意の大きな数字も自動的に処理しませんか? –

+2

timeitモジュール – TJD

+1

を使用してコードをプロファイリングすることができますどのバージョンのPythonを使用していますか? 3.xバージョンを使用している場合は、次を参照してください。PEP 0237:本質的に、長い名前がintに変更されました。つまり、intという名前の組み込み型が1つしかありません。それはほとんどが古いロングタイプのように振る舞います。 – Yuushi

答えて

3

多量の重大な処理を行う場合は、「numpy」を参照してください。

3

あなたのプログラムが多くの数値計算を行う場合、パフォーマンスが重要な点でプロファイルを作成し、数値部分をネイティブコードで実行する必要があります。内部的に数値がPythonの「整数」または「long」であると心配する必要はありません。つまり、Python 3が型の違いを取り除くほどです。

numpy、cython、C拡張を使用し、標準のcpythonの代わりにpypyを使用してプログラムを実行し、corepyを見てもいくつかのアプローチがあります。パフォーマンスが問題となる場合は、純粋なPythonで実行する集中的なタスクです。彼が最も複雑なイベント - 計算をただ実行する単一の関数の形でC拡張を作成することは、この場合にパフォーマンス上の価値があるほど簡単です。

関連する問題