問題タブ [processing-efficiency]
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.
java - 0(1) 操作での検索を可能にする文字列オブジェクトを使用した単純なコレクション
文字列オブジェクトの単純なコレクションは約 10 要素かもしれませんが、このコレクションを本番環境で使用して、そのコレクションで特定の文字列を何百万回も検索します。取得に使用できる最良のコレクションまたはデータ構造は何ですか?検索操作を 0(1) 時間で実行できるようにするための最良の結果 ここで HashMap を使用できますが、検索の順序は 0(1) ではなく一定時間です。検索が 0(1) であることを確認したいと思います。
データ構造は、存在する場合は true 、存在しない場合は false を返す必要があります
java - コードの一部を実行するのにかかる時間を測定すると、そのコードがどれほど効率的かがわかりますか? ジャワ
次のコードを考えると、どちらがより効率的ですか? 実際のメソッド returnSomething() も実際には 0 を返す可能性があるため、try/catch が必要です。
私は、プロセッサの使用に関してどのコードがより効率的であるかを把握しようとしていましたが、それらは同じことを行います。テスト用に書いたコードが目的に合っているかどうか、またはコードに対して他の種類のテストを実行できるかどうかを知りたいです。私の調査結果によると、ハードコードの if ステートメントを使用し、最後の if ステートメントが常に実行されるにもかかわらず、ピース 2 は 9 倍効率的 (実行時間が 9 分の 1) であることがわかりました。
完全な作業プログラム
c++ - 2 つの定数の積は、実行されるたびに計算されますか?
たとえば、私が持っている場合:
getは2*0.025
毎回計算されますか? または0.05
、乗算演算を毎回実行する必要がないように代入されますか?
つまり、0.05
代わりに使用する方が効率的2*0.025
ですか?
ruby - リアルタイムで関数を使用して結果を計算するのと、データベースから直接結果を読み取るのとでは、どちらがより効率的ですか?
このシナリオ例を見てみましょう:
出力を計算するために数学的な平方根と立方根 (処理が遅い) を含む非常に複雑な関数が存在します。例として、関数が 2 つのパラメーターaとbを受け入れ、両方の値 a と b の入力範囲が明確に定義されていると仮定します。入力値aとbの範囲が 0 から 100 であると仮定します。
したがって、基本的にfn(a,b)はリアルタイムで計算するか、その結果をデータベースに事前に入力して、必要に応じてフェッチすることができます。
方法 1:リアルタイムで計算する
方法 2:データベースから関数の結果を取得する
対応する結果にマッピングされた入力値が事前に入力されたデータベースがあります。
そして、私たちはできる
私の質問:
あなたはどの方法を支持しますか、またその理由は何ですか? ある方法が他の方法よりも効率的である理由は何だと思いますか?
これは、私たちのほとんどがプログラミング生活のある時点で直面するシナリオであり、したがってこの質問だと思います。
ありがとうございました。
質問の背景(関係ないかもしれません)
例 :画像処理のようなシナリオでは、入力 (R、G、B) の値の範囲が既知 (0 ~ 255) で、平方根とキューブルートは、サーバー要求が完了するまでに時間がかかりすぎます。
Instagram のようなアプリを構築している例を考えてみましょう。ユーザーがサーバーに送信した画像を処理するのにかかる時間と、処理された画像を返すのにかかる時間は、最適なユーザー エクスペリエンスのために最小限に抑える必要があります。このような状況では、画像の処理にかかる時間を最小限に抑えることが重要です。さらに悪いことに、このような処理要求の数が大きくなると、スケーラビリティの問題が発生します。
したがって、このような状況で最適な方法でもある上記の方法のいずれかを選択する必要があります。
私の状況の詳細(必要な場合):
フレームワーク: Ruby on Rails、データベース: MongodB
java - Javaヒープサイズを超えるかどうかを理解するにはどうすればよいですか?
与えられた時間の値などでその値を比較する株価を計算するプログラムを実装しました。すべての日付とdouble値を含むcsvファイルがあります。私のプログラムでは、すべての日付について、ファイルを開き、指定された日付の値を解析および検索しています。そして、私は何度も日付をチェックするかもしれません。そのため、HashMapでこれらの値を使用したいのですが、指定された日付の値がキーとしてない場合は、csvファイルを開いて検索します。しかし、そのプログラムを実装する前に、すべての値をハッシュマップに格納する場合、それが8MBのJavaのヒープに収まるかどうかを確認したいと思います。私のcsvファイルには1200行の日付と対応するdouble値があります。コードを実装する前にそれを理解する方法はありますか?それとも、より効率的なプログラムを作成するためのより良いアイデアをアドバイスしますか?
ありがとう。
c# - 長い文字列(300万文字)から多数(100万)の部分文字列(100文字幅)の読み取りを取得する
C#で300万文字を超える文字列から100万の部分文字列を効率的に取得するにはどうすればよいですか?私は、300万文字の文字列から100と言う長さのランダムなDNA読み取り(ランダムな位置からの部分文字列)を読み取るプログラムを作成しました。そのような読み取りは100万あります。現在、100万回実行されるwhileループを実行し、300万文字の文字列から100文字の長さの部分文字列を読み取ります。これには長い時間がかかります。これをより速く完了するために何ができますか?
ここに私のコードがあります。lenは元の文字列の長さです。この場合は300万です。これは、whileループのチェックが50になる理由です。
python - 文字列から一般的な単語 (およびその複数形) を削除する手法
長いテキスト文字列を解析して、レシピのタグ (キーワード) を見つけようとしています。テキストには、レシピの材料、指示、および短い宣伝文句が含まれています。
タグリストから一般的な単語を削除する最も効率的な方法は何だと思いますか?
一般的な言葉とは、「the」、「at」、「there」、「their」などの言葉を意味します。
使用できる方法が 2 つあります。どちらが速度の点でより効率的だと思いますか?また、これを行うためのより効率的な方法を知っていますか?
方法 1:
- 各単語が出現する回数を決定します (ライブラリ Collections を使用)
- 一般的な単語のリストを用意し、コレクション オブジェクトからそのキーを削除しようとすることで、コレクション オブジェクトからすべての「一般的な単語」を削除します (存在する場合)。
- したがって、速度は変数 delims の長さによって決まります
方法 2:
- 複数形の可能性がある一般的な単語については、レシピ文字列の各単語を調べて、一般的な単語の複数形でないバージョンが部分的に含まれているかどうかを確認します。例えば; 文字列「There's a test」について、各単語に「there」が含まれているかどうかを確認し、含まれている場合は削除します。
php - PHP int 配列で繰り返しをカウントする効率的な方法
PHP int 配列の繰り返しをカウントする効率的な方法があるかどうかを知りたいです。
非常に大きな配列 (100 万の位置) で、0 から最大の int サイズまでの数値があります。
各数値が配列に表示される回数を知りたいだけですが、最も効率的な方法です。
例えば:
1 = 3 回
2 = 2 回
6 = 1回
ありがとう。
performance - 効率のためにコードを最適化する
ユークリッド距離に基づいて、あるベクトルから別のベクトルへのポイントのマッピングを実行するコードを作成し、それが正しく機能することを確認しました。
ただし、時間がかかりすぎます。基本的に、A および B ベクトルのユークリッド距離の行列を作成し、その最小値を見つけました。これらの点のマッピングを示した後、次のマッピングが発生するように NaN としてマークすることにより、ユークリッド行列から行と列を削除します。
現在非常に遅いため、このコードはより効率的ですか...
問題は、5000 X 5000 の行列の場合、コードが長時間ハングすることです...
誰か助けてくれませんか...
php - メモリ/プロセッサ効率の良いステートメントはどれですか?
質問を言い換えるより良い理由はありません。あなたは私に提案するかもしれません。ほとんどの場合、php で変数を再利用しますが、どれがメモリ/プロセッサ効率が高いのだろうかと思います。例えば
ケースA
ケース B : 同じ変数を再利用 (文字列変数と配列オブジェクトとして再宣言)
私の質問は、コードの読みやすさの観点からではありません。メモリとプロセッサの使用率に関して、どちらが効率的な方法になるのだろうか。