タグ付けされた質問 「performance」

コードおよびアプリケーション効率の測定または改善に関する質問。

14
値がリストに存在するかどうかを確認する最速の方法
値がリスト(その中に数百万の値を持つリスト)に存在するかどうか、およびそのインデックスが何であるかを知る最も速い方法は何ですか? この例のように、リスト内のすべての値が一意であることを知っています。 私が試す最初の方法は(実際のコードでは3.8秒)です。 a = [4,2,3,1,5,6] if a.count(7) == 1: b=a.index(7) "Do something with variable b" 私が試す2番目の方法は(2倍高速:実際のコードでは1.9秒): a = [4,2,3,1,5,6] try: b=a.index(7) except ValueError: "Do nothing" else: "Do something with variable b" Stack Overflowユーザーから提案されたメソッド(実際のコードでは2.74秒): a = [4,2,3,1,5,6] if 7 in a: a.index(7) 私の実際のコードでは、最初の方法は3.81秒かかり、2番目の方法は1.88秒かかります。それは良い改善ですが、: 私はPython /スクリプトの初心者ですが、同じことをしてより多くの処理時間を節約するためのより速い方法はありますか? 私のアプリケーションのより具体的な説明: Blender APIでは、パーティクルのリストにアクセスできます: particles = …
816 python  performance  list 

27
2つのリストの違いを取得する
Pythonには次のような2つのリストがあります。 temp1 = ['One', 'Two', 'Three', 'Four'] temp2 = ['One', 'Two'] 2番目のリストにはない最初のリストのアイテムを含む3番目のリストを作成する必要があります。例から私は得なければなりません: temp3 = ['Three', 'Four'] サイクルとチェックなしの高速な方法はありますか?

2
正確に8192要素をループするとプログラムが遅くなるのはなぜですか?
これは問題のプログラムからの抜粋です。行列img[][]のサイズはSIZE×SIZEで、次のように初期化されます。 img[j][i] = 2 * j + i 次に、マトリックスを作成res[][]します。ここの各フィールドは、imgマトリックス内のその周囲の9つのフィールドの平均になります。簡単にするため、境界線は0のままにしておきます。 for(i=1;i<SIZE-1;i++) for(j=1;j<SIZE-1;j++) { res[j][i]=0; for(k=-1;k<2;k++) for(l=-1;l<2;l++) res[j][i] += img[j+l][i+k]; res[j][i] /= 9; } これでプログラムは終わりです。完全を期すために、これが以前のものです。後にコードはありません。ご覧のとおり、それは初期化です。 #define SIZE 8192 float img[SIZE][SIZE]; // input image float res[SIZE][SIZE]; //result of mean filter int i,j,k,l; for(i=0;i<SIZE;i++) for(j=0;j<SIZE;j++) img[j][i] = (2*j+i)%8196; 基本的に、このプログラムはSIZEが2048の倍数である場合、実行時間が長くなります。 SIZE = 8191: 3.44 secs …



13
カウント(*)とカウント(1)-SQL Server
誰かが使いすぎているのか、パフォーマンスに顕著な違いがあるのか​​、またはこれが過去の時代からCount(1)引き継がCount(*)れているレガシーの習慣にすぎないのかと疑問に思っているだけですか? 特定のデータベースはSQL Server 2005です。

5
[]がlist()より速いのはなぜですか?
私は最近の処理速度を比較[]し、list()その発見に驚いた[]ランを超える3倍速くよりlist()。私はと同じテストを実行{}し、dict():との結果が実質的に同一であった[]と{}しながら、両方は約0.128sec /万サイクルを取ったlist()し、dict()およそ0.428sec /万サイクルごとをしました。 どうしてこれなの?やる[]と{}(そしておそらく()と''、あまりにも)その明示的に名前のカウンターパートは、(一方で、すぐにいくつかの空の株式リテラルのコピーをバックパスlist()、dict()、tuple()、str())は完全に彼らが実際の要素を持っているかどうか、オブジェクトの作成に取り掛かりますか? 私はこれら2つの方法がどのように違うのか分かりませんが、知りたいです。ドキュメントやSOで答えを見つけることができず、空の角かっこを検索すると、予想よりも問題が多いことがわかりました。 私は呼び出すことで、私のタイミング結果を得たtimeit.timeit("[]")とtimeit.timeit("list()")し、timeit.timeit("{}")かつtimeit.timeit("dict()")それぞれ、リストや辞書を比較するために、。Python 2.7.9を実行しています。 to のパフォーマンスを比較し、同様のリテラル対グローバルのシナリオに触れているように見える「なぜTrueがif 1よりも遅いのですか?」を最近発見しました。おそらくそれも検討する価値があります。if Trueif 1

12
PyPyが6.3倍高速である場合、CPythonではなくPyPyを使用すべきではないのはなぜですか?
PyPyプロジェクトについてはよく聞いています。彼らはそれが彼らのサイトのCPythonインタープリターより6.3倍速いと主張しています。 Pythonのような動的言語について話すときはいつでも、速度が最大の問題の1つです。これを解決するために、彼らはPyPyが6.3倍速いと言います。 2つ目の問題は、悪名高いグローバルインタープリターロック(GIL)である並列処理です。このため、PyPyはGILのないPythonを提供できると述べています。 PyPyがこれらの大きな課題を解決できるとしたら、PyPyの幅広い採用を妨げている弱点は何ですか?つまり、典型的なPython開発者である私のような誰かが、今 PyPyに切り替えるのを妨げているのは何ですか?

18
Project Eulerとの速度比較:C vs Python vs Erlang vs Haskell
私はProject Eulerからの問題#12をプログラミング演習として使用し、C、Python、Erlang、およびHaskellでの(確かに最適ではない)実装を比較しました。実行時間をいくらか長くするために、最初の問題で述べたように、500ではなく1000を超える除数で最初の三角形の数値を検索します。 結果は次のとおりです。 C: lorenzo@enzo:~/erlang$ gcc -lm -o euler12.bin euler12.c lorenzo@enzo:~/erlang$ time ./euler12.bin 842161320 real 0m11.074s user 0m11.070s sys 0m0.000s Python: lorenzo@enzo:~/erlang$ time ./euler12.py 842161320 real 1m16.632s user 1m16.370s sys 0m0.250s PythonとPyPy: lorenzo@enzo:~/Downloads/pypy-c-jit-43780-b590cf6de419-linux64/bin$ time ./pypy /home/lorenzo/erlang/euler12.py 842161320 real 0m13.082s user 0m13.050s sys 0m0.020s アーラン: lorenzo@enzo:~/erlang$ erlc euler12.erl lorenzo@enzo:~/erlang$ time erl …

8
どのPythonメモリプロファイラーが推奨されますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 私のPythonアプリケーションのメモリ使用量を知りたいので、具体的には、どのコードブロック/部分またはオブジェクトがほとんどのメモリを消費しているのか知りたいです。Google検索では、商用のものがPython Memory Validator(Windowsのみ)であることを示しています。 そしてオープンソースのものはPySizerとHeapyです。 私は誰も試したことがないので、どれを検討するのが最善かを知りたいと思いました。 ほとんどの詳細を示します。 コードに変更を加える必要はありません。

7
MongoDBでCouchDBを使用する場合とその逆の場合
これら2つのNoSQLデータベースの間に行き詰まっています。 私のプロジェクトでは、データベース内にデータベースを作成します。たとえば、動的テーブルを作成するソリューションが必要です。 したがって、ユーザーは列と行を含むテーブルを作成できます。MongoDBとCouchDBのどちらがこれに適していると思いますが、どちらが良いかわかりません。また、効率的なページングも必要です。

30
最後の手段のパフォーマンス最適化戦略[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 このサイトにはすでにパフォーマンスに関する質問がたくさんありますが、ほとんどすべてが非常に問題固有であり、かなり狭いと思います。そして、ほとんどすべてが時期尚早な最適化を避けるためにアドバイスを繰り返します。 仮定しましょう: コードはすでに正しく機能しています 選択したアルゴリズムは、問題の状況にすでに最適です コードが測定され、問題のあるルーチンが分離されている 最適化のすべての試みは、問題を悪化させないように測定されます 私がここで探しているのは、重要なアルゴリズムで最後の数パーセントまで絞り出すための戦略とトリックです。 理想的には、回答を言語にとらわれないようにし、該当する場合は提案された戦略の欠点を示してください。 私は自分の最初の提案とともに返信を追加し、Stack Overflowコミュニティが他に考えられることを楽しみにしています。

19
PHP配列の保存に推奨される方法(json_encodeとシリアライズ)
キャッシュのために、データの多次元の連想配列をフラットファイルに保存する必要があります。Webアプリで使用するためにJSONに変換する必要がある場合がありますが、ほとんどの場合、配列をPHPで直接使用します。 配列をこのテキストファイルにJSONまたはPHPシリアル化配列として保存する方が効率的ですか?私は見回しましたが、PHPの最新バージョン(5.3)では、json_decode実際にはよりも高速であるようunserializeです。 私は現在、配列をJSONとして保存することに傾倒しています。必要に応じて人間が読みやすく、PHPとJavaScriptの両方でほとんど手間をかけずに使用できます。私が読んだことから、デコードが高速です(ただし、エンコードについては不明です)。 誰かが落とし穴を知っていますか?どちらかの方法のパフォーマンス上の利点を示す良いベンチマークを持っている人はいますか?

23
どちらが速いですか:while(1)またはwhile(2)?
これは上級管理職からのインタビューの質問でした。 どちらが速いですか? while(1) { // Some code } または while(2) { //Some code } 内部の式whileは最終的にtrueまたはに評価されるため、どちらも実行速度は同じであると述べましたfalse。この場合、どちらも評価されtrue、while条件内に追加の条件付き命令はありません。したがって、両方の実行速度は同じであり、私は(1)を優先します。 しかし、インタビュアーは自信を持って言った:「あなたの基本を確認してください。while(1)より速いですwhile(2)。」(彼は私の自信をテストしていませんでした) これは本当ですか? 参照:「for(;;)」は「while(TRUE)」より高速ですか?そうでない場合、なぜ人々はそれを使うのですか?

8
.Any()と.Count()> 0のどちらの方がパフォーマンスが優れていますか?
でSystem.Linq、名前空間、私たちは今、私たち拡張することができますIEnumerableをのを持っている(どれを)と()カウント 拡張メソッドを。 コレクション内に1つ以上のアイテムが含まれていることを確認する場合、拡張メソッドはすべてのアイテムを反復処理する必要があるため、.Any()拡張メソッドの代わりに拡張メソッドを使用する必要があると最近言われました。.Count() > 0.Count() 第2に、一部のコレクションには、または(拡張メソッドではなく)プロパティがあります。またはの代わりにそれらを使用する方が良いでしょうか?CountLength.Any().Count() いや/いや?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.