問題タブ [slowdown]

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.

0 投票する
1 に答える
311 参照

performance - コードを変更しないと Matlab MEX が遅くなる

ここ数週間、ちょっとしたコードを開発してきました。コードは MATLAB の MEX ファイル内にラップされます。昨日まで、私の通常のテストは約 1 秒かかりました。何も変更せずにコードを再コンパイルした後、突然、同じコードに 4 秒以上かかります。

唯一の変更は、呼び出している関数とはまったく関係のない関数で発生しました。すべてのコンパイラーの最適化が、1 秒ごとに消えてしまったようです。

過去に似たような経験をしたことがあり、対処法を知っている方はいらっしゃるのではないでしょうか?

ご提案いただきありがとうございます。

編集1:

コンパイラに依存するものだと思いますが、ここではコンパイルコマンドの出力です(詳細モードを使用)

0 投票する
1 に答える
629 参照

performance - wp7 xna のランダムなパフォーマンスの内訳?

xna を使用して Windows Phone 7 用の最初のゲームに取り組んでいます。いくつかのテストの後、ゲーム アニメーションの短いスローダウンに気付き、いくつかのパフォーマンス テストを実装しましたが、スローダウンを完全に取り除くことはできませんでした。これで、DrawableGameComponent 継承クラスのみが runsslow フラグ、描画/更新時間 (メソッドに渡される)、およびガベージ コレクターが実行されているかどうかに関するテキストを描画する空のプロジェクトを作成しました。奇妙なことに、この最小限のコードを使用しても、遅延は 1 ~ 5 秒に 1 回程度発生するようです。遅れて、描画に 33 ミリ秒ではなく 50 ミリ秒かかる場合を指しています。この最小限のプロジェクトでは、runslow フラグが設定されることもあります。私の実験によると、ガベージ コレクターは実行回数がはるかに少ないため、これが主な理由ではないようです。

更新コード:

描画コード:

私が気づいたことは、それが常に発生するわけではないということです。

0 投票する
1 に答える
488 参照

mysql - MySQL csvインポートの増分スローダウン(代替?)

私は次の表を持っています:

30,000レコード弱のcsvファイル(毎日インポートしています)があります。

私が試してみました:

同様に、ファイルを一時テーブルにロードして、次のことを実行してみました。

どちらの方法も同じように機能します(同じ結果)が、2番目の方法ではリソースコストがわずかに高くなると確信しています。私が直面している問題は、ロード/挿入-選択機能のインポート時間が毎日約3秒/日増加していることです。したがって、30日目は、テーブルに直接インポートするために90秒を見ています。

事実:インポートで主キーが重複することはありません(もちろん、同じデータを2回インポートしようとしない限り、問題はありません)

したがって、このプロセスを高速化する方法はありますか(インポート前にキーチェックをオフにする可能性がありますか?(どのように?))

編集:また、CategoryテーブルとProductテーブルはすでに更新されており、外部キーの制約はインポートの問題ではないため、外部キーのチェックは必要ありません。

0 投票する
7 に答える
486 参照

mysql - 大きなテーブルでのインデックス付き列のスローダウンに対するMysqlの選択

私は2つのテーブルを持っています:A - 301列(a1 int(11)プライマリキー、2番目から301番目 - double(15,11)という名前の最初のもの)&B - 33列(最初のもの - b1 int(11)ユニークキー、2番目1 - b2 varchar(100) 主キー、...、33rd - b33 int(11) MUL )。

A と B の両方に ~ 13,500,000 のレコードがあります。

私のmysqlクエリ:1000の倍数で設定されたpos(1、1000、2000、...、13500000)を含むposのすべての値について:

A から A.*、b2、b5、b7、b8、b10、b13、b33 を選択 a1=b1 で B を結合 (b33 >= pos および b33 < pos+1000);

b33 <= 600,000 の値の場合、クエリには 1 ~ 5 秒かかります。その後、クエリは 20 ~ 30 秒かかり始めます。b33 >= 8,000,000 の場合、クエリは 60 ~ 70 秒かかり始めます。なぜ減速が起こっているのか理解できません。b33 にはインデックスが付けられ、一方のテーブルではプライマリとして定義され、もう一方のテーブルでは一意として定義されているキーに対して結合が行われます。これに対する回避策はありますか? これはコードの速度を本当に妨げており、他に何も機能しない場合は、テーブル A と B をいくつかの小さなテーブルに分割する必要があります。そうする必要がないことを本当に願っています!助けてください!

編集:これがEXPLAINのo / pです-

** * ** * ** * ** * * 1. 行* ** * ** * ** * ** *
id: 1
select_type: SIMPLE
テーブル: B
タイプ: 範囲
possible_keys: b1,b33
key: b33
key_len : 4
ref: NULL
行: 981
エクストラ: where の使用
* ** * ** * ** * ** * 2. 行* ** * ** * *** ** *
id: 1
select_type: SIMPLE
table: A
type: eq_ref
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: DBName.B.b1
rows: 1
Extra:
2 行セット (0.00 秒)

0 投票する
1 に答える
155 参照

android - adwhirl はバックグラウンドで多くの作業を行っていますか?

admob と mdotm を使用してアプリケーションに adwhirl を追加しましたが、フリーズしてキーディスパッチ エラーが発生します。バックグラウンドで多くのことをしようとしていることが原因であることはわかっていますが、以前は発生していませんでした。

0 投票する
5 に答える
5092 参照

c++ - メモリを使いすぎている(と思う)

数値を含む一連のテキスト ファイルを分析するプログラムを実行しようとしています。テキスト ファイルの合計サイズは約 12 MB で、360 個のテキスト ファイルのそれぞれから 1,000 個の double を取得し、それらをベクトルに配置します。私の問題は、テキスト ファイルのリストの途中まで来て、それ以上ファイルを処理しなくなるまでコンピュータの速度が低下することです。プログラムは無限ループではありませんが、メモリの使いすぎに問題があると思います。メモリをあまり使用しないこのデータを保存するためのより良い方法はありますか?

関連するその他のシステム情報:

Linux の実行

8GBのメモリ

Cern ROOT フレームワークがインストールされている (ただし、これでメモリ フットプリントを削減する方法はわかりません)

インテル Xeon クアッド コア プロセッサ

他の情報が必要な場合は、このリストを更新します

編集: トップを実行すると、プログラムがより多くのメモリを使用し、80% を超えたら強制終了しました。コードがたくさんあるので、メモリが割り当てられている部分などをピックアップして共有します。編集2:私のコード:

編集 3: ベクトル空間を予約するコードを追加し、ファイルを閉じるコードを追加しましたが、プログラムが停止する前にメモリが 96% までいっぱいになります...

0 投票する
1 に答える
1323 参照

sorting - 推力: メモリ割り当てが原因で sort_by_key が遅い

sort_by_keyサイズ8000万のキーと値のint配列を使用しています。デバイスは2GB VRAMを搭載したGTX 560 Tiです。sort_by_key の前に使用可能な (空き) メモリが の場合、 でソートを終了します。ただし、使用可能なメモリが に低下すると、同じキーと値の配列の sort_by_key は!1200MB200ms600MB1.5-3s

Compute Visual Profilerの下でプログラムを実行しました。GPU タイムスタンプが、前の最後のカーネルsort_by_key と内部の最初のカーネル呼び出しsort_by_key( RakingReduction.

sort_by_key最初の内部カーネルを呼び出す前に、内部でメモリ割り当てが行われていると思われます。必要なメモリsort_by_key は (利用可能なメモリがであっても600MB) 利用可能ですsort_by_key。これが発生すると、コンピューターが 1 秒間フリーズすることがわかります。Process Explorerを開いたままにしておくと、CPU物理メモリグラフにも隆起が見られ ます。

sort_by_key使用可能なメモリが少ない場合に、この作業を同じくらい速くするためにできることはありますか? また、メモリ バンプと一時的なフリーズを引き起こしているデバイスとホストの間で何が起こっているのでしょうか?

0 投票する
1 に答える
1129 参照

android - Androidでのオーディオ再生の速度低下

ユーザーが文章をよりはっきりと聞くことができるように、再生中のオーディオを遅くする必要があるAndroidアプリケーションを作成しています。私はこれにどのようにアプローチするのか分かりません。信号処理については少し知っていますが、Androidに組み込む方法はわかりません。私を助けることができるAPIまたは何かがありますか?

ありがとう

0 投票する
1 に答える
184 参照

android - ファイルを入力する Android R ID

オーディオ ファイルの再生を遅くする必要があるアプリを作成しています。オーディオ ファイルの ID は int[] 配列 (R.raw.one、R.raw.two など) にあります。これが私の問題です。この配列を反復処理し、ID を選択してオーディオ ファイルを取得し、それを FileInputStream に入れて、最終的にそれを AudioTrack に読み込んでオーディオを遅くしようとしています。問題は、FileInputStream が int ではなく File タイプのみを受け取ることです (ID は 16 進数です)。

これを行う別の方法は考えられません。MediaPlayer で再生を遅くすることはできますか? その方がずっと簡単だからです。

ありがとう

0 投票する
1 に答える
890 参照

android - OGGオーディオからAudioTrackへ

再生速度を管理して再生できるように、OGGファイルをAudioTrackにロードしようとしています。ただし、「track [voiceIndex] = dis.readByte();」の行でnullポインタ例外が発生します。トラック配列の範囲を超えていると思います。私は正直にデータストリームについてあまり知らないので、このコードをちょっとコピーしました。私はそれを理解するのに苦労しています。助けていただければ幸いです、ありがとう。