Re: [問題] 傳輸時間非線性
※ 引述《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)
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章