問題タブ [heavy-computation]

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 投票する
8 に答える
2158 参照

c# - C#パフォーマンス-計算量の多いメソッドをC ++で作成する必要がありますか?

私は、画像処理技術を使用して信号分析を行う定量的ライブラリのプロトタイプを作成しています。最初のプロトタイプはすべてC#で作成しましたが、パフォーマンスは期待したほど良くありません。ほとんどの計算は重い行列計算によって行われ、これらはほとんどの時間を占めています。

アンマネージC++コードへのC++/CLIインターフェイスを作成する価値があるかどうか疑問に思っています。誰かがこれを経験したことがありますか?C#のパフォーマンスを最適化するための他の提案を歓迎します。

0 投票する
2 に答える
506 参照

java - androidスレッド:重い計算でスレッドを停止する

私は自分のAndroidアプリケーションでいくつかの重い計算を行っています。UIスレッドをブロックしたくないので、スレッドを拡張する別のWorkerThreadで計算を行います。これは正常に機能します。しかし、スレッドを停止するのに問題があります。スレッドを停止する通常の方法は、interrupt()またはvolatile変数を使用して、スレッドに終了するように指示することです。ただし、これはある種のループを持つスレッドでのみ機能します。外部ライブラリを使用してスレッドで計算を行っていますが、isInterrupted()-checkをこのライブラリに入れることができません。スレッドを停止する悪い方法は、stop()-Methodeを使用することです。これは非推奨ですが、私の場合、スレッドは内部値のみを操作するため、正しい方法です。残念ながら、Androidは非推奨のスレッドメソッドをサポートしていないため、stop()をサポートしていません。

Androidでスレッドを停止する他の方法はありますか?前もって感謝します!トビアス

PS:問題を示すいくつかのコード:

0 投票する
0 に答える
664 参照

javascript - Javascript での重い計算

私は現在、Javascript(ブラウザとノード)用の金融ライブラリを構築中です

ライブラリの主な機能の 1 つは、オプションを使用してシミュレーションを行うことです。そのため、シミュレーションの生成には多くの計算が必要になります。

私は現在、HTML5 webworkers(node-webworker) を使用し、特定の数の webworker に計算を分散する AsyncManager と呼ばれる、私が作成したライブラリを使用しています。私がこれを行っている方法は、関数を含む JavaScript 計算オブジェクト (Calc オブジェクトは calculate(args) と呼ばれる 1 つのメソッドを実装する必要があります) をシリアル化することです。

(関数を文字列形式に変更して関数のシリアル化を行い、Webworker でそれらを評価して関数に戻します。)

事前に計算を知らなくても、webworkers を使用して JavaScript で負荷を分散するより良い方法を誰かが考えたのではないかと思っていました。

0 投票する
4 に答える
4646 参照

java - AndroidUIスレッドから大量の計算を取り除く

私のAndroidアプリは、アクティビティのUIスレッド上にあるため、システムをクラッシュさせ続ける特に大きな計算を採用しています。私はマルチスレッドにほとんど自信がないので、それを正しく行うためのヒントをいくつか入手したいと思います。これは私が持っているものです

今、私がしたことは「正しく」ないことをかなり確信しています。(ただし、機能しているようです。システムはクラッシュしません)。基本的に、このブール値のthreadcompleteなしで、newthreadが計算を終了したことをUIスレッドにどのように伝えることができるかわかりません。これを行うための「正しい」方法はありますか?

0 投票する
4 に答える
1854 参照

objective-c - アプリが大量の計算を行っているときに NSTimer がフリーズすることがある

アプリがバックグラウンドで計算を行っている間に、いくつかの読み込みポイントをアニメーション化したいと思います。私はこれを介して達成しますNSTimer:

残念ながら、計算が非常に重くなると、メソッドが起動されず、更新が行われないことがあります。すべての発射は、重い計算の後に発射されるキューにあるようです。

NSTimer私のメソッドを定期的に呼び出していることを確認するために、より高い優先度を与える方法はありますか? または、これを達成する別の方法はありますか?

0 投票する
3 に答える
6084 参照

javascript - Javascript での重い計算のベスト プラクティスは?

私はクライアント側のスクリプトに取り組んでおり、膨大な数のオブジェクトを配列にプッシュするなどの重い計算を行う必要があります。これにより、JavaScript が応答を停止し、ブラウザがハングして警告が表示されます。

ブラウザの警告

これらの計算を処理するためのベスト プラクティスまたは設計パターンはありますか。これらの状況を処理するためのさまざまな方法を検索して見つけましたが、ソリューションを実装するのは難しいため、ベスト プラクティスと理解しやすいものが必要ですか?

(例としてコードを書いていますが、クロスブラウザー、つまりマルチスレッドなどの一般的なソリューションが必要です)

コード例 (シリーズには何千ものオブジェクトが含まれています):

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

performance - 列挙プロセスの高速化

数日間の最適化の後、これは のすべての行に最適な組み合わせを見つけることからなる列挙プロセスの私のコードですW。アルゴリズムは、 の要素がより多くなる ( と呼ばれる) 行列と、制限より下の要素のみを含む行列 ( と呼ばれる) に行列WW分離しLimiteInferioreます。W_legaliW_nlegali

Media(別名 Mean)のようないくつかのパラメーターを使用して、rho_b_legaliアルゴリズムは総コスト関数を最小化します。最後の部分で、目的関数の値が最も低い組み合わせがどこにあるかを見つけて保存しますW_ottimo

ご覧のとおり、アルゴリズムはそれほど「クリーン」ではなく、非常に大きなマトリックス (142506x3000) では非常に遅くなります...だから、誰かが少しスピードアップするのを手伝ってくれませんか?

0 投票する
2 に答える
236 参照

java - 実行中のスレッドは多くの CPU を消費します

NIO サーバーに接続するために以下のクライアント スレッドを使用しています。

これは私のサーバー側のコードです。サーバー側のみを実行している場合、CPU は 5% 以下ですが、スレッドごとにクライアントを実行すると、CPU 使用率が約 20 ~ 30% 上昇します。

すべてが正しく機能します。クライアントとサーバーはお互いを認識して通信できます。私のコードが受け入れることができる接続の量をテストするために、上記のスレッドのインスタンスをいくつか作成しましたが、ここに問題があります。

このスレッドの各インスタンスを生成してタスク パネル (Windows) のパフォーマンス セクターを追跡すると、PC (2.6 コアの i5 CPU を使用しています) の CPU 使用率が 30% 上昇し、3 つのスレッドを生成することで CPU 使用率は約100% !!!

私のCPUの30%を占める上記のコードの問題は何だろうと思っています。