問題タブ [timeit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 関数は入力パラメーターを関数にコピーしますか?
私はPythonで次の例を持っています:
関数を使用しない場合 (time1) と関数を使用する場合 (time2) の時間比較は次のとおりです。
2つのアプローチにはわずかな違いがあるようです。関数の入力パラメータはどのように処理されますsolver
か、コピーされますか、それとも単に関数の内部に渡されますか?
python - pip で timeit をインストールできません。どうすればこれを修正できますか?
timeit をインストールしようとしていますが、これが得られます。
python - 小さなリストよりも小さな文字列を反復処理する方が遅いのはなぜですか?
私は timeit をいじっていて、小さな文字列に対して単純なリスト内包表記を実行すると、小さな単一文字列のリストに対して同じ操作を実行するよりも時間がかかることに気付きました。説明はありますか?約1.35倍の時間です。
これを引き起こしている下位レベルで何が起こっているのでしょうか?
python - Python timeit コマンド ライン エラー:「SyntaxError: 文字列リテラルのスキャン中に EOL」
私は長い間 Python のtimeitモジュールを使用してきましたが、それは対話型の Python セッションまたは Unix シェルを介したものにすぎませんでした。現在、Windows コマンド プロンプト ( cmd.exe ) でいくつかのコード スニペットを測定しようとしていますが、次のエラーが表示されます。
文字列に改行文字を挿入していないため、かなり紛らわしいです。実際には、 timeit モジュールのドキュメントから直接例を貼り付けました。
これをいじりながら、エラーが直前の文字をマークしたため、スペースなしでスニペットをテストしてみました。pass
例外は発生しなくなりましたが、モジュールは、次のようにステートメントを渡した場合と同じ実行時間を報告します。
同じ行を Unix シェルに貼り付けて期待どおりに動作するので、モジュールを正しく呼び出していると確信しています。
Python 2.7 と 3.3 でまったく同じ結果が得られるので (さらに、モジュールは純粋な Python で記述されており、長い間使用されてきました)、これは Python とは何の関係もないと確信していますが、Windows コマンド プロンプトは、代わりは。
では、なぜこの奇妙な動作が正確に発生し、どのように修正すればよいのでしょうか?
python - コード スニペットで timeit が機能しないのはなぜですか?
これら3つは論理的に同等であり、セットを返すと思います{1, 3, 4}
:
しかし、ipython (python 3.4.0 の v1.2.1) でそれぞれのパフォーマンスを確認しようとすると、timeit マジックが失敗します。
何が起きてる?2.7 でも失敗します。timeit.timeit
バニラの pythonメソッド を使用してこれを再現することはできません。
python - 実行中のクラス メソッドのパフォーマンス テスト
別のクラス methodM で使用される methodT を含むクラスがあり、methodT の実行時間を計測したいと考えています。
これが私が試したことです
Aの方法でも結果は出ますが、今回の結果に比べると精度は落ちていると思います。
ただし、メソッド B では、timeit は self.run_process を認識しないため、NameError を生成します。
この投稿を読んで、timewrapper メソッドを追加してみました
を与えるので、私にはうまくいきませんNameError: global name 'timewrapper' is not defined
。
私の質問は、timeit を使用してメソッド B を正しく実装するにはどうすればよいですか?
注: コア python 以外のモジュールは使用できません
python - リストを一意にする list+set メソッドは、辞書キー メソッドよりも高速なのはなぜですか?
同じための timeit トライアルのサンプルを次に示します。
ご覧のとおり、list(set(MY_LIST)) メソッドは辞書メソッドよりも約 2.5 倍高速であり、結果は小さなリストでも大きなリストでも同様です。
なぜこれがそうであるか、つまり時間の複雑さの点でこれらの両方のステップの実行機能の違いを説明できますか?