一直想測試一下json的解析速度,前些天終于花了一點時間測了一下,在我的破筆記本上,解析一個包含10個元素(各種類型都有)的object型json,1秒鐘大概只能解析不到10w次,就算把內(nèi)存池用到極致也只能解析12.5w次左右,換用自己定義的一種bjson格式,速度快了一些,但也不超過20w次,想想工作量也的確很大,生成一個包含10個子元素的object,需要動態(tài)分配最少10次,還要做最少10次hash的insert,還有各種格式的轉(zhuǎn)換工作,里面有array和object還要額外分配容器并處理子對象,這可都是耗時操作,終于明白了為什么webserver為何一秒鐘只能處理幾千個請求甚至只能處理幾百個請求了,看來要將游戲協(xié)議完全用json暫時還是不大可取,從效率上看折中點的做法依然是struct+json或struct+string\0string\0…,這些我以前的blog都寫過,只是現(xiàn)在找到了效率上的依據(jù),畢竟游戲服務器一秒都是要處理幾萬數(shù)據(jù)包的,要是全是json光解析json就把時間耗光了,更不用說去處理其他任務了。
只有注冊用戶登錄后才能發(fā)表評論。 | ||
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
![]() |
||
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
|
||
|