我有一個基準像如下:從兩個地方運行基準,但不打印結果
benchmark_result = Benchmark.bm do |x|
x.report { send(test_name) }
end
當我運行它,我看到輸出:
- 的
send(test_name)
在report
區塊。我想繼續看到這個輸出。 - 基準測試塊的輸出,即生成的基準測試報告將打印到控制檯。我不希望發生這種情況。
我從here看過如何暫時隱藏控制檯輸出。但問題是我想要內部塊繼續打印它的輸出。我只是不想看到基準測試結果。
您希望看到方法調用的輸出,但不*顯示基準輸出?我不知道你爲什麼要做一些基準測試,然後拋出結果。 – tadman
我正在制定一個'基準緩存'系統,以便當我爲某個方法請求基準時,我不必再實際運行該方法。這是專門用於長時間運行的方法,我認識到結果不會完全準確。人們在我最近發佈的問題[這裏]告訴我這麼多次(http://stackoverflow.com/questions/36961017/how-to-multiply-a-benchmark?noredirect=1#comment61480374_36961017)。基本上,每當我運行測試用例時,我都會存儲基準,並在稍後顯示。 –
一個有趣的項目,謝謝解釋。我認爲AmitA的方法可以捕獲結果並以某種方式將它們保存以備後用。實際上,您可以將它們放在一些小數據庫中,如SQLite,以便在需要時進行更好的組織。 – tadman