1. ホーム
  2. python

[解決済み] Pythonの%timeitとは何ですか?

2022-03-11 12:38:06

質問

私はいつもこのように時間を計算するコードを読んでいます。

%timeit function()

ここで、「"%"」の意味を説明してください。

sは文字列の置換、%dはデータの置換というように、文字列の中の何かを置換するときに必ず使われると思うのですが、このケースは全くわかりません。

どのように解決するのですか?

%timeit ipythonマジック この関数は、特定のコード片 (単一の実行文、または単一のメソッド) の時間を計測するために使用されます。

ドキュメントより

<ブロッククオート

%timeit

Time execution of a Python statement or expression

Usage, in line mode:
    %timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] statement

これを使うには、たとえば xrange を使うよりも高速になります。 range を使えば、簡単にできます。

In [1]: %timeit for _ in range(1000): True
10000 loops, best of 3: 37.8 µs per loop

In [2]: %timeit for _ in xrange(1000): True
10000 loops, best of 3: 29.6 µs per loop

そして、それらのタイミングを取得します。

の大きなメリットは %timeit があります。

  • そちら しない をインポートする必要があります。 timeit.timeit 標準ライブラリから を作成し、そのコードを何度も実行して、どちらが良い方法なのかを考えてみてください。

  • timeitは、合計2秒の実行ウィンドウに基づいて、あなたのコードに必要な実行回数を自動的に計算します。

  • のように、コード・スニペット全体を渡すことなく、現在のコンソール変数を使用することもできます。 timeit.timeit を使用して、timeitが動作する別の環境でビルドされた変数をビルドします。