iT邦幫忙

0

程式執行時間

  • 分享至 

  • xImage

HI 各位大大好

目前寫了一段程式,但壓力測試發現有點耗時,想上來問問....

public string Test(string body , string jsonString)
{
	// add time log - 1
	Mymodel model = Newtonsoft.Json.JsonConvert.DeserializeObject<Mymodel>(jsonString);
	// add time log - 2
	return Test(body,model.para2,model.para3)
}

private string Test(string para1 , string para2, string para3)
{
	// add time log -3
	
}

我在註解的地方,留了三個log發現1~2花了590ms
也許要處理反序列化需要時間,不過好像有點太久了...
至於2~3也令我不解,呼叫Test這個方法,時間間隔居然有到650ms
是我哪個部分寫的讓他需要這麼久的時間呢?僅是呼叫方法,一進入方法就把時間log出來,還沒經過任何運算...

又再次麻煩各位大大解惑了...

石頭 iT邦高手 1 級 ‧ 2020-07-11 08:23:36 檢舉
能否提供你Json的資料?
ice bear iT邦新手 4 級 ‧ 2020-07-15 17:18:54 檢舉
你好~ 後來換個寫法 不傳物件使用Deserialize了...
感謝您!!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
打狗松鼠
iT邦新手 4 級 ‧ 2020-07-13 10:29:14

基本上,資料的Serialize以及Deserialize本就算是費時的工作(端看演算法及程式內部運用的資料結構是否能有效加速處理),若資料量夠大,耗時是正常的,這可以解釋1~2的問題

但2~3費時就不太確定原因了,可能因第一次載入函式較耗時等問題導致Latency,若是用Visual Studio Professional甚至Enterprise,建議可使用偵錯工具協助查詢哪個部分耗時並加以改進

ice bear iT邦新手 4 級 ‧ 2020-07-15 17:18:19 檢舉

好的 謝謝!!

我要發表回答

立即登入回答