問題タブ [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.
sqlite - SQLite-外部キーはint列よりも効率的ですか?
私はテーブルを持っています:
ここscore
で、はパーセンテージです。
そこに整数値を含めるか、このような単なるテーブルであるテーブルへの外部キーを含める方が効率的ですか?
明らかに、テーブルには0〜100が入力されます。
私の考えでは、1000人の生徒がいる場合、整数列として保持するとクエリは高速になりますが、使用されるスペースが多いほど、外部キーを使用すると使用されるスペースは少なくなりますが、クエリは遅くなります。
これが正しいかどうかわかりませんか?
だから私はそれをそこに捨てると思いました!
c# - 配列内の複数の不正な値を見つけるための最も効果的な検索アルゴリズム
次の配列があるとします。
各値は、データベース内の期間内の特定の状態にある数日間のカウンターです。例: 2000 年 1 月 1 日から 2000 年 1 月 3 日までの期間 (3 か月ではなく 3 日) : XXXXX状態の日数。
私がやりたいのは、オブジェクト数が Web サイトのオブジェクト数と比較して正しいかどうかを確認することです。Web サイトがロードされていない場合、検索自体にはせいぜい数秒かかります。
a の値を別の配列のいくつかの固定値と比較する非常に単純なテスト プロジェクトを作成し、異なる値をランダムに選択しました。実際、15 のうち 7 が異なっていました。
現在実装されているアルゴリズムは二分探索です。このコードの出力は正しいですが、実際のアプリケーションで発生する検索の数は、提供されたデータに対して 144 であり、まったく効率的ではありません。検索数 (またはこの例では集計計算) を最小限に抑えるために使用できる他のアルゴリズムはありますか?
重要な注意:期間は 2010 年 9 月 1 日から今日までになる可能性があるため、現時点では、毎日個別に検索することはできません。
必要に応じて説明を求めてください。
r - 関数を使用して複数の for ループを置き換える
誰かがこの例をざっと見て、この問題に取り組むためのより効率的な方法を見つけてくれることを願っていました。シミュレーションを実行して、動物が一連の特定の条件に従ってサイト間をどのように移動するかを調べたいと考えています。私は5つのサイトといくつかの初期確率を持っています.
この例では、50 個のシミュレーションのみを含めましたが、実際には少なくとも 1000 個のシミュレーションが必要です。
}
アイデアは、この累積確率行列を使用して、乱数に基づいて動物の運命を決定することです。
この累積行列では、文字「A」、「B」、「C」、「D」、および「E」は異なるサイトを表し、「NA」は将来の時間ステップで離れて戻ってくる確率を表し、「離れた」システムを離れて戻ってこない確率を表します。次に、乱数のリストを使用して累積確率行列と比較し、その特定の動物の「運命」を決定します。
for(o in 1:reps){
ここで、主な問題は、各初期パラメーター (この例では 10 個の値) についてすべてのシミュレーションを実行するのに時間がかかりすぎることです。すべての初期パラメーターで 1000 シミュレーション / 20 サイトを実行するための、より優れた効率的な方法を見つける必要があります。私は、このタスクを高速化する関数やその他の方法にあまり精通していません。任意のアイデアや推奨事項をいただければ幸いです。
事前にどうもありがとう、
jdbc - ClojureでJDBCを使用して大規模なデータセットにアクセスする効率的な方法は何ですか?
編集
結局のところ、N00bの問題です。lein ring server
実行するとアプリがインタープリター モードで
実行されることに気付きませんでした。
次の Clojure/JDBC フラグメントを最適化して、(はるかに) 高速に実行できますか?
ETL プロジェクトに Clojure を使用することを検討しています。私が書いた最初のテストは、そこに ~280K のレコードがあるテーブルからデータを出力することでした。これまでに思いついた実装はかなり遅かったです。Java で約 12 秒かかるのに (「raw」アクセスではなく myBatis を使用してオブジェクトを設定しても)、Clojure ソリューションでは約 9.5 分かかります。
dosq の代わりに map を試し、ここで概説されているようなカーソルを使用してみました: http://asymmetrical-view.com/2010/10/14/clojure-and-large-result-sets.html、しかし私はほぼ同じになりますそれぞれの実行時間。
FWIW、.println java.lang.System/out
(驚くべきことではありませんが)同じ結果を実行し、 with-query-results* を使用すると:
同じ同じ。
performance - パラレルコードがシリアルコードよりも遅いのはなぜですか?
一般的に、パラレルコードがシリアルコードよりも遅くなる可能性はありますか?私はそうです、そして私はそれに本当にイライラしています!私に何ができる?
java - 空でない交差点の効率的な検索 (Java)
整数値または整数範囲 (initial..final) を返すメソッドがあり、値がすべてばらばらかどうかを知りたいです。
次のソリューションよりも効率的なソリューションはありますか。
java - 存在する場合はリスト内のオブジェクトを更新するためのJavaでの最速かつ最も効率的な実装であり、そうでない場合は追加します
機能している問題ステートメントがありますが、以下のシナリオを処理するために、より効率的で、より速く、さらに重要なことに正しく設計されていることを知りたいです。
私はPOJOクラスを持っています
リスト、基本的にはオブジェクト A のリストをリストに入力しようとしています。今問題の実装。オブジェクト A をリストに追加するときに、 String を持つオブジェクトが既に存在するかどうかを確認する必要があります。はいの場合、古いオブジェクトを古い d1 + 新しい d1 で更新し、新しいオブジェクトをリストに追加しない場合、新しいオブジェクトをリストに追加します。私の現在の実装は以下のようなものです。
2 番目の for ループ内で処理を行うためのより効率的な方法はありますか?
c# - より効率的なIf\Else?
このif/elseステートメントを書き出すためのより凝縮された/効率的な方法はおそらくありますか?このデータベースのすべてのフィールド(200フィールドに近い)でnullをチェックする必要があり、コードは最終的にかなり乱雑に見えます。:\
c - ファイルから単語ごとに読み取るか、一度に1行ずつ読み取り、Cを使用して文字列を分割する、より効率的な方法は何ですか?
ディスク上のファイルから単語ごとにチェックする必要があるCでアプリケーションを開発したいと思います。ファイルへのアクセスが少なくて済むので、ファイルから1行を読み取り、それを単語に分割する方が効率的であると言われています。それは本当ですか?
python - Pythonで多数のリストの共通部分を見つける
各行にスペースで区切られた数字を含むファイルがあります。各行は番号のリストに対応しています。
現在、そのような行は約300,000行あります(各行には平均で約100個の数字が含まれています)。
そのようなすべてのリストの相互交差を見つけたいと思います。つまり、最初のリストが他のすべてのリストと交差し、次に2番目のリストが他のすべてのリストと交差するというように続きます。
使ってます
ここで、aとbはリストであり、二重ループで反復されます。
しかし、これには時間がかかりすぎます。例:最初のリストが他のすべてのリストと交差している場合、約3分かかりました。
どうすればこれを効率的に行うことができますか?(他の言語/ツールを使用している可能性があります)