Node.jsの私のアプリケーションには、数回実行されるパフォーマンステストがあります。実行速度の途中には、元の半分の値に下がる:コードへノードのパフォーマンスが突然半減する原因は何ですか?
RUN 1: 6604 ms
RUN 2: 6404 ms
RUN 3: 6386 ms
RUN 4: 6392 ms
RUN 5: 12755 ms
RUN 6: 12977 ms
RUN 7: 13124 ms
無意味な変更は、前方または後方に、この崖をプッシュすることができますが、私はトリガーが何であるかを把握することはできません。 OS X上
- ノードv8.2.1
- ないChromeで実行したときに作り直し。
- 合計メモリ使用量は一定の60MBです。実行間強制GCを追加しても効果はありません。
- タスクは純粋にアルゴリズム的です(非常に複雑な方法でフィボナッチシーケンスを計算します)。ディスクまたはネットワークアクセスはありません。
誰もこの問題の指紋を認識していますか?
私は最小限の例を提供できないことをお詫びします。問題は、アプリケーションが4000行のマークを超えたときに始まりました。アプリケーションが4,000行以下にトリムされると、この問題は解消されます。
編集:Debianで実行したときと同じテストでは、さらに劇的な崖が見えます。パフォーマンスは8424 msから45212 msに急激に低下します。
テスト入力としてリリースされる1は常に同じです:
は、要約すると?全7回同じ入力? – Lazyexpert
コードの32行目を削除してください。 [mcve] – Rob
@Lazyexpertはい、まったく同じテストが7回実行されます。 –