我在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線標記時,問題纔開始顯現。一旦應用程序被修剪回4000線以下,問題就會消失。
編輯:在Debian中運行時進行的相同測試顯示了更加戲劇性的懸崖。性能從8424毫秒急劇下降到45212毫秒。
測試輸入一個始終不變?所有7次相同的輸入? – Lazyexpert
刪除你的代碼的第32行,你會很開心! [mcve] – Rob
@Lazyexpert是的,這是完全相同的測試運行七次。 –