私はそれを見たとき私はちょうどポストに返信しようとしていました @txnelson すでに同じ回答をしていました(驚きです)。 私はその反応を「賞賛」したいのですが、選択肢はありません。 「投稿」(つまり質問)を賞賛する選択肢がありますが、それは私にはあまり意味がありません。 私は何かが足りないのですか?
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />データベースへの保存が遅すぎる(1分間に1万レコード) さんから返信があります msharp それは私にJMP 13のために予定された性能強化を思い出させました。 (ありがとうJeff Polzin!)
Msharp氏は、データベース更新機能は他の手法よりも高速であると述べていますが、それでもまだ優れていません。 (そしてブライアン・ブーンこのスクリプトを見て(JSLとSQLを使う賢い方法です)、それがリストの最後に項目を追加するのを見ました。
//先に進む
forwardList = {};
starttime = Tick Seconds();
(i = 0、i <30000、i ++、
に挿入(forwardList、i)
;
stoptime = Tick Seconds();
表示する(stoptime - starttime)
stoptime - starttime = 1.68333333334886; // JMP 12時間
JMP 12以前では本当に遅いです。 リストはその最初の項目によって内部的に保持され、最後の項目はリストの長さを歩くことによって発見されなければなりません。 InsertInto()はデフォルトでリストの末尾に追加されます。これはN ^ 2のパフォーマンスにつながります。リストの長さを2倍にすると4倍になります。 それを回避する方法があります。
//リバースビルド
reverseList = {};
starttime = Tick Seconds();
(i = 0、i <30000、i ++、
に挿入(reverseList、i、1)
;
reverseList = Reverse(reverseList);
stoptime = Tick Seconds();
表示する(stoptime - starttime)
stoptime - starttime = 0.0333333334419876;
それがいいです。 insertinto()関数は、リストの先頭に挿入するために3番目の引数1を指定して呼び出されます。 reverse()関数の呼び出しも報告された時間内に考慮されることに注意してください。 そして答えは同じです。
show(reverseList == forwardList);
reverseList == forwardList = 1; //どちらでもよい
JMP 13を楽しみにしていますか?ここにあります:
//先に進む
forwardList = {};
starttime = Tick Seconds();
(i = 0、i <30000、i ++、
に挿入(forwardList、i)
;
stoptime = Tick Seconds();
表示する(stoptime - starttime)
stoptime - starttime = 0.0166666668374091; //ジェフはすごい!
100以上の項目のリストを作成しているJMP 12スクリプトがある場合は、手短に言えば、最初に挿入してから逆にします。 JMP 13はどちらの方法でも高速になります。
Discussionセクションに返信用のKudosボタンが表示されません。 最初の投稿のみ。 これは11/3に投稿された最後の返信です。

賞賛ボタンが返信になりました。その短い欠席をお詫び申し上げます。;-)
私はその奇妙なカウント動作を見ていない @pmroz 報告します。それが続くかどうか私に知らせてください。
私もそれに気づいた。 解決策を投稿した誰かに功を奏したいのですが、現時点ではKudosボタンが表示されないため不可能です。
もう1つ - Kudosボタンの動作は矛盾しています。
0称賛:クリックして1が表示されます
2つの賞賛:クリックして1が表示されます(??)