Re: [問題] 傳輸時間非線性

看板Ruby作者 (secret)時間17年前 (2008/06/20 22:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《wwwc (secret)》之銘言: : 環境: : server1: ruby 1.8.6 (2007-09-24 patchlevel 111) [amd64-freebsd7] : server2: ruby 1.8.5 (2006-08-25) [amd64-freebsd6] : 狀況: : server1傳送不同長度的資料給server2 : 但資料長度與傳輸時間呈現非線性的關係 : 我想不出合理的解釋 : 附錄: : code on server1: : require 'socket' : 1.upto(10) {|i| : text = "a" * i*(10**7) : start = Time.now : bob = TCPsocket.open(ip, port) : bob.write("#{text}\n") : bob.close : puts Time.now - start : } : code on server2: : require 'socket' : server = TCPServer.new(ip, port) : while (alice = server.accept) : start = Time.now : tmp = alice.gets : puts Time.now - start : end : #無論server1或server2印出的結果 傳輸的資料長度與時間 都呈現很明顯的非線性關係 : #Why? : #Thanks. string_length time(seconds) 10000000 1.446097 20000000 5.63906 30000000 12.596629 40000000 19.164819 50000000 35.540932 60000000 43.151251 70000000 52.863883 80000000 63.990407 90000000 106.629896 100000000 117.847027 很明顯不是線性關係 雖然這是只跑十次平均的結果 但之前跑了一百次後也差不多 我找不到合理的解釋 已排除CPU忙碌這個原因(有top觀察) 趁現在有人幫忙 所以趕緊貼上結果 謝謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.16.222 ※ 編輯: wwwc 來自: 140.109.16.218 (06/21 15:02)
文章代碼(AID): #18My4Dod (Ruby)
討論串 (同標題文章)
文章代碼(AID): #18My4Dod (Ruby)