問題タブ [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.
php - このPHPスクリプトを実行するための最も効率的な方法
データベースには任意の数のユーザーがいます(これは100、2000、または3の場合があります)。mysqlの「showtables」を使用してテーブル名を配列に格納し、whileループを実行してすべてのテーブル名(ユーザー名)を取得してコードに挿入すると、すべてのテーブル名に対して上記のコードを実行します。ユーザーが3人の場合、このスクリプトには約20秒かかります。Twitter APIを使用し、いくつかのmysql挿入を行います。これはそれを行うための最も効率的な方法ですか?
c++ - ポイントが任意の数のボックスにあるかどうかを判断する最も効率的な方法は何ですか
X、Yポイントが単一の長方形の領域であるかどうかを確認する方法は知っていますが、重複する可能性のある複数の領域があると言います(領域には、X、Y、幅、高さ、Zインデックス(またはx1、y1、x2)があります。 、y2それが簡単な場合-関連性がある場合は、それをどのように保存するかについては気になりません)
すべての領域を反復処理することなく、ポイントが領域の1つにあるかどうかを判断するための効率的なアルゴリズムはありますか。
リージョンが追加または削除されるときに再計算時間が長くないものが望ましいですが、それはルックアップよりもまれです。
ありがとうございました!
sockets - ループバック アドレスを使用して TCP/IP ソケットを使用して IPC を実行する場合、一般的なネットワーク スタックは下位レベルの PDU でメッセージのフレーミングをスキップしますか?
Java などの一部の環境では、「localhost」アドレス (IPv4 では 127.0.0.1、IPv6 では ::1) を使用して、同じホスト上のプロセス間でメッセージを渡すために TCP/IP ソケットを使用するのが自然です。(Java はその API で他の IPC メカニズムを公開しない傾向があるため)。
明らかに、これは、パイプを介したメッセージ パッシングを介した IPC や、共有メモリを使用した IPC よりも大幅に遅くなる可能性があります。
一方、TCP/IP ネットワーク スタックが、接続の両端がループバック インターフェース上にあることに気付いた場合、パイプを使用した場合とあまり変わらないように、かなりの最適化を行うことができる可能性があります。
しかし、一般的なオペレーティング システム (Windows、Linux) は、TCP/IP スタックにそのような最適化を実装していますか?
r - RでStata .DTAファイルの一部のみを読み込む
これに簡単な答えがどこかにある場合は、事前にお詫び申し上げます。そのようなもののように思えますが、SO を検索したり、グーグルで検索したりしても、ヘルプ ファイルで見つけることができないようです。
現在、数GBのデータセットをいくつか扱っています。私がアクセスできるクラスタ ノードの 1 つのメモリに収まるには十分ですが、ロードにはかなりの時間がかかります。このデータを使用した多くのデバッグ/プログラミング アクティビティでは、ファイル全体をロードする必要はありません。コードをテストするためのデータセットを取得するには、最初の数千の観測のみをロードする必要があります。もちろん、ファイル全体を読み込んでサブセット化することもread.dta()
できますが、最初の N 行のみを読み込むように指示する方法があるかどうか疑問に思っていました。もちろん、これははるかに高速です。
.csv のような適切な形式を使用してread.csv()
から の nrows 引数を使用することもできますが、その場合、Stata データセットの因子ラベルが失われます (そして、データにフィードしている他の誰かのコードからかなりの数 GB のデータを再作成する必要があります)。このプロジェクト.したがって、.dta ファイルの直接的な解決策が推奨されます。
c++ - C++ での高次元配列と 1 次元配列の効率
高次元配列と 1 次元配列の使用効率に興味があります。次のように配列を定義して反復処理すると、何かが失われますか?
または、次のように配列を定義して反復します。
違いはないだろうというのが私の傾向ですが、私はまだ高効率プログラミングについて学んでいます (これまで、この種のことを気にする必要はありませんでした)。
ありがとう!
php - これらのファイルを処理するために適切なアプローチを取っていますか? (CSV と PHP)
私は夏の就職活動をしている学生です。私は、何年にもわたって実施された調査のために、Excel から SQL Server データベースへのデータ入力を処理するタスクを与えられました。タスクの概要は次のとおりです。
テーブルは本戦、個人戦、個人戦の3つ。イベントには多くの個々のイベントがあり、個々のイベントには多くの個人があります。私のコードは、最後の 2 つのテーブルのみを考慮しています。
私は 2 つのファイルを読みました。1 つのファイルにはすべての個々のイベントのリストがあり、もう 1 つのファイルにはすべての個人のリストが含まれています。個人のデータは、個人がどのイベントに関連付けられているかを教えてくれます。
私のコードは基本的に個々のイベントを読み取り、関連する個人の 2 番目のファイルを調べます。個人ファイルの各行は、関連付けられている場合は適切なテーブルに挿入され、関連付けられていない場合は新しいファイルに書き込まれます。ファイル全体がトラバースされると、新しいファイルが古いファイルにコピーされ、データベースに既に入力されているデータが削除されます。
このコピーにより、完全な個人ファイルを何度も読み直すだけで、実行時間が 3 分短縮されました。しかし、これに対するより良いアプローチはありますか?私のサンプル データの実行時間は ~47 秒です...理想的にはそれよりも短い時間でお願いします。
どんなに些細なことでも、アドバイスをいただければ幸いです。
編集:これは私が使用しているコードの縮小版です
c# - c# 固定配列 - どの構造から読み取るのが最も速いですか?
2D データ要素の大きな配列がいくつかあります。A と B は同じサイズの寸法ではありません。
A) は 5 から 20 の間です
B) は 1000 から 100000 の間です
初期化時間は、リアルタイム アプリケーションのルックアップ テーブルになるだけなので問題ありません。そのため、値 A と B を知ることによる要素のインデックス作成のパフォーマンスは非常に重要です。現在格納されているデータは、1 バイト値です。
私はこれらの解決策について考えていました:
また
また
また
または、固定サイズを知っているので多次元を失い、調べる前に値を掛けるだけです。
また
私が必要としているのは、このセットアップがあるときに C# で最も効率的なルックアップに使用するデータ型/配列構造を知ることです。
編集 1 最初の 2 つのソリューションは、マルチ配列ではなく、多次元であると想定されていました。
編集 2 最小次元のすべてのデータは各ルックアップで読み取られますが、大きな次元は一度に 1 回だけインデックス付けに使用されます。
つまり、サンプル B からすべての A を取得します。
javascript - 効率的なストップウォッチ
こんにちは、javascript でストップウォッチ ユーティリティをプログラミングしていますが、効率とオーバーヘッドについて質問があります。私がストップウォッチを作ることを考えた2つの方法があります:
1.開始日を保存し、その日から経過したミリ秒数を常に測定します。
2.整数を作成し、設定された間隔でその値をインクリメントします。
どれが最も効率的か知りたいです。また、オプション#2が非常に正確かどうかはわかりません。誰かがこれについて何か意見を持っていれば、それも素晴らしいでしょう.
c - 効率 - 条件ステートメントでの関数呼び出し
次のようなコードが少しあるとします。
someInteger
true と評価された場合、関数は呼び出されますか?
ps で GCC を使用してコンパイルする-O2
ruby-on-rails - Ruby on Rails:値の配列リストの逆引き参照
モデルの配列に設定されたユーザー選択可能なオプションを備えたモデルがあります。
短い文字列は他の場所から取得されてデータベースに保存されますが、オブジェクトを表示するときに長い文字列を表示したいと思います。たとえば、ビューでの使用:
逆ハッシュをハードコーディングしたくないのですが、配列を逆マッピングでハッシュに変換するdisplay_optionsメソッドを作成すると、display_optionsが呼び出されるたびに変換が実行されますか?これは、大量に変換される大きな配列ではリソースを大量に消費する可能性があります。アプリの起動時に一度だけ逆ハッシュを作成し、二度と作成しない方法はありますか?(レール3とルビー1.9.2を使用)