問題タブ [performance]
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 - すべての文字を読み取るときに、InputStreamReader よりも BufferedReader を使用する理由はありますか?
現在、次の関数を使用して単純な HTTP GET を実行しています。
BufferedReader
すべてを順番にダウンロードするだけなので、を使用する理由はありません。BufferedReader
この場合、の使用はないと考えるのは正しいですか?
xml - XML パーサー/バリデーターのアルゴリズムの複雑さ
さまざまな XML ツール (パーサー、バリデーター、XPath 式エバリュエーターなど) のパフォーマンスが、入力ドキュメントのサイズと複雑さによってどのように影響を受けるかを知る必要があります。CPU 時間とメモリ使用量がどのように影響を受けるかを文書化したリソースはありますか? ドキュメントのサイズはバイトですか? ノード数?また、その関係は線形、多項式、またはそれより悪いものですか?
アップデート
IEEE Computer Magazine vol 41 nr 9、2008 年 9 月の記事で、著者は 4 つの一般的な XML 解析モデル (DOM、SAX、StAX、および VTD) を調査しています。彼らはいくつかの非常に基本的なパフォーマンス テストを実行し、入力ファイルのサイズが 1 ~ 15 KB から 1 ~ 15 MB に、または約 1000 倍大きくなると、DOM パーサーのスループットが半分になることを示しています。他のモデルのスループットには大きな影響はありません。
残念ながら、ノード数/サイズの関数としてのスループット/メモリ使用量など、より詳細な調査は行われませんでした。
記事はこちら。
アップデート
この問題の正式な扱いを見つけることができませんでした。参考までに、XML ドキュメント内のノード数をドキュメントのサイズ (バイト単位) の関数として測定する実験をいくつか行いました。私は倉庫管理システムに取り組んでおり、XML ドキュメントは典型的な倉庫ドキュメント (事前出荷通知など) です。
以下のグラフは、バイト単位のサイズとノード数の関係を示しています (これは、DOM モデルでのドキュメントのメモリ フットプリントに比例するはずです)。さまざまな色は、さまざまな種類のドキュメントに対応しています。スケールは log/log です。黒い線は青い点に最適です。興味深いことに、すべての種類のドキュメントで、バイト サイズとノード サイズの関係は直線的ですが、比例係数は大きく異なる可能性があります。
(ソース: flickr.com )
.net - .Net 2.0 - 汎用リストはどのくらい効率的ですか?
大量のユーザーデータをメモリに保持するアプリを作成していますが、ほとんどの場合、すべてを List<T> 構造 (およびルックアップが必要な場合は一部の Dictionary<T,T>) に保持しています。
そして、私は疑問に思っています...
リストはどのくらい効率的ですか? それぞれのメモリ オーバーヘッドはどれくらいですか? (つまり、それらに含まれるオブジェクトに加えて、メモリ スペースが必要です) 新しいオブジェクトをインスタンス化するたびに、どのくらいのペナルティを支払う必要がありますか?
より効率的な方法はありますか?
辞書は単なるハッシュテーブルですよね? それとも、効率の悪いデータ構造ですか?
配列を使用したいのですが、常に配列に追加したり削除したりするという典型的な問題があるため、それらを拡大/縮小するのは面倒です。
アイデア/提案はありますか?
編集: 基本的なデータ構造 101 と、追加/削除にはリンク リストの方が優れており、ランダム アクセスには HashTable の方が優れている理由を知っています。
私は主に.Netの特異性について心配しています。たとえば、これらの構造のそれぞれがどれだけのメモリを浪費するか。そして、それらの初期化/強制終了に時間が費やされました。
たとえば、リストのインスタンス化/GC に時間がかかるが、クリアするのにそれほど時間がかからない場合は、リストの小さなプールを待機させておき、それらをクリアしてプールに送り返す必要があるかもしれません。単に逆参照するのではなく、完了したら。
または、Hashtables の方がアクセスは高速ですが、多くのメモリを浪費する場合は、Lists を使用して、項目数が少ない場合はリストをトラバースすることをお勧めします。
また、私のアプリは非常にメモリを集中的に使用するため (memcached のように考えてください)、メモリ使用量にも注目したいと思います...そのような情報をどこで見つけることができるか知っている人はいますか?
performance - プロセスを強制終了する Windows .bat ファイルを作成する方法はありますか?
会社所有の開発マシンをオンにするたびに、タスク マネージャーまたはその他のプロセス管理アプリを使用して 10 以上のプロセスを強制終了し、IDE のパフォーマンスを十分に引き出す必要があります。はい、これらは、会社がセキュリティとコンプライアンスのためにマシンにインストールするプログラムのプロセスです。私がやりたいのは、問題のプロセスを強制終了できる.batファイルまたはスクリプトを用意することです。
誰もこれを行う方法を知っていますか?
python - Find out how much memory is being used by an object in Python
How would you go about finding out how much memory is being used by an object? I know it is possible to find out how much is used by a block of code, but not by an instantiated object (anytime during its life), which is what I want.
objective-c - Objective-C でのドット表記とメソッド呼び出しのパフォーマンスの違い
Objective-C の標準のドット表記またはメソッド呼び出しを使用して、Objective-C のオブジェクトのプロパティにアクセスできます。
また
パフォーマンスに違いはありますか (プロパティへのアクセスに関して)? コーディングスタイルの好みの問題ですか?
sql-server - SQL Server-列の順序は重要ですか?
パフォーマンスと最適化の観点から:
- SQL Serverでテーブルを作成する場合、列をどのような順序で配置するかは重要ですか?
- 主キーが最初の列であるかどうかは重要ですか?
- マルチフィールドインデックスを作成する場合、列が隣接しているかどうかは重要ですか?
- ALTER TABLE構文を使用して、列を追加する位置を指定することはできますか?
- そうでない場合、どうすれば列を別の位置に移動できますか?
c - Cで値を交換する最速の方法は何ですか?
2つの整数を交換したいのですが、これら2つの実装のどちらが高速になるかを知りたいです。一時変数を使用した明らかな方法:
または、ほとんどの人が見たことがあると確信しているxorバージョン:
最初のレジスタは追加のレジスタを使用しているように見えますが、2番目のレジスタは3つのロードとストアを実行し、最初のレジスタはそれぞれ2つしか実行しません。誰かがどちらが速いのか、そしてその理由を教えてもらえますか?なぜもっと重要なのか。
sql - データベースの読み取りロックを回避するにはどうすればよいですか?
データベースの読み取りロックを回避するにはどうすればよいですか?
複数のデータベースへの回答を歓迎します!
.net - Perfmon分析をアプリケーション固有の観測/データに解釈するための最良の方法は何ですか?
私たちの多くは、パフォーマンス分析を行うためにPerfmonツールを使用しています。特に.Netカウンターの場合、Perfmonでは非常に多くの変数が発生しているため、Perfmonの結果を解釈してアプリケーションに関する貴重なフィードバックを得ることが常に困難になります。perfmon( Ants Profilerなどのツールではありません)を使用したいのですが、観測値を正確に解釈するにはどうすればよいですか?
どんな入力でも大歓迎です。