2514_ja-JP
JMPのパフォーマンス約10,000行のデータファイル(dt1)を調べようとしています。1からNROW(dt1)に向かうFORループがあります。ハングしているように見えたので、何が起こっているのかを見るためにSHOWステートメントをたくさん入れました。約2000レコードを処理した後、これ以上showステートメントはログに表示されていませんでした。私は待つことにしました、そして、約10分後に、スクリプトは終わりました、そして、残りのSHOWステートメントはログに記録されました。
6000のshowステートメントを実行した後、JMPが何もしていないように見えるのはなぜでしょうか。SHOWステートメントを続けるために設定できるパラメータはありますか?
ありがとう再:JMPのパフォーマンス列を配列にロードしてから配列を処理すると、パフォーマンスが向上する場合があります。しかし、必ずしもそうとは限らないので、emptorに注意してください。
my_list = column(dt、"mycolumn")<<値を取得します。
あなたの問題に関しては、wait(0)を入れてみてください。SHOWコマンドの後のステートメント それはJMPにある種のバッファをフラッシュさせるでしょう。
あるいは、キャプション文を使用することもできます。
caption( "Processing row" || char(i));
待つ(0)。
がんばろう!再:JMPのパフォーマンス高速に実行された反復の場合、ログウィンドウは連続して更新できません。各Show()の後にWait(0)を挿入して、ログをスムーズに更新できます。ただし、Show()とWait()の両方のコマンドはもちろん実行を遅くします。
しかし10分は長い時間です。計算の種類に関する詳細情報がなければ、速度が低下する原因を特定するのは困難です。使用可能なRAMを増やすか、可能であれば、より効率的なコードを記述してパフォーマンスを向上させることができます。再:JMPのパフォーマンス繰り返しごとにキャプションを表示するのではなく、modステートメントで100回ごとにキャプションを表示してみてください
(mod(i、100)= 0の場合
caption( "Processing row" || char(i));
待つ(0)。
;
あなたがしている計算について教えてください。それは私たちがなぞなぞを解決するのを助けるかもしれません。
最近、テーブルをループして、データからいくつかのリストを作成しているケースがありました。より大きなテーブルは処理時間を指数関数的に増加させるようでした。最後にではなく、最初にリストに新しい値を挿入すると、JMPが無限に速くなることを私はついに思い出しました(前の投稿から)。21,000行のテーブルの処理が34分から15秒になりました!
がんばろう!
ピーターRe:JMPパフォーマンス他のいくつかの問題に対処するために、これから離れなければなりませんでした... しかし、私は何が起こっているのか理解しようとしています...
JMPデータファイルの10,000件を超えるレコードをループ処理しようとしています。LENGTH関数とINDEX関数を使用しているifステートメントがいくつかあります。いくつかのBeanカウント変数があります。複雑なことは何もありません!
欲求不満から、行10585から10590だけを見るように、FORループのパラメーターを変更しました。ログに表示するshowステートメントを取得できなかったため、5分後にジョブを強制終了しました。
大きなファイルの実行時間が指数関数的に長いことについて、あなたが参照した追加へのリンクを教えてもらえますか?再:JMPパフォーマンスヒントとテクニックのセクションで、次のJMPerケーブルの問題を確認してください。
http://www.jmp.com/about/newsletters/jmpercable/pdf/20_summer_2006.pdf
よろしく、
ピーター
Comments
There are no comments yet