我正在對程序進行一些評估測試,以測試執行時間以及檢查原始系統執行情況的跟蹤程序如何影響原始系統的性能。跟蹤程序不是會干擾系統,除了接收跟蹤消息之外,它們之間不會進行通信。Erlang程序跟蹤速度更快
到目前爲止的結果是,沒有跟蹤開啓的程序的平均值爲953.14
微秒,而跟蹤開啓時爲937
微秒。時間使用statistics(wall_clock)
函數計算。
我的想法是,因爲我有一個來自跟蹤器的額外進程,而跟蹤機制需要他們自己的處理能力,所以它會減慢系統速度而不是加快速度。有什麼已知的原因爲什麼會發生這種情況?
我跑了9次爲每個設置的措施,問題與這9次的平均時間有關。你是否建議我使用'runtime'而不是'wall_clock'?我正在多核系統上運行這項措施。 – aseychell 2013-03-27 11:40:43
使用運行時,您將獲得運行代碼的每個核心活動的總和。使用此選項,您應該瞭解跟蹤選項成本。正如我在答案中所說的那樣,您將獲得的額外成本將至少部分地被多核系統上的併發執行所隱藏。 – Pascal 2013-03-27 14:18:13