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

看板Ruby作者 (Bird)時間17年前 (2008/06/21 00:15), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串3/4 (看更多)
※ 引述《wwwc (secret)》之銘言: : tmp = alice.gets 我不是很確定 但我看Ruby source code中gets的實作 (在io.c) 他應該是每次最多讀8192 bytes 然後附加到之前的字串上 所以一次讀1M左右 可能會造成不斷的allocate memory & copy data 而且看到這行 rb_str_resize(str, last + len); 似乎每次讀取 只會allocate剛剛好的memory 所以看樣子 當資料足夠大的時候 這個演算法會有O(N^2)的time complexity == 其實手邊沒有灌ruby的環境 以上純屬嘴炮 XD gets看起來是用在讀取一般文字輸入 資料量大的時候最好不要用gets 試試用別的function還會不會這樣 P.S. write我有稍微看一下 應該是O(N)沒問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.33.124 ※ 編輯: yzugsr 來自: 123.193.33.124 (06/21 00:16) ※ 編輯: yzugsr 來自: 123.193.33.124 (06/21 00:17) ※ 編輯: yzugsr 來自: 123.193.33.124 (06/21 00:18)

06/21 00:32, , 1F
good point, 試試 read? 不過 client/server 時間一致嗎?
06/21 00:32, 1F

06/21 00:43, , 2F
我試了,用 read 也一樣,不過我都是線性時間...
06/21 00:43, 2F

06/21 12:32, , 3F
請問樓上板主 一次傳送的資料長度是?傳送時間大概是?謝謝!
06/21 12:32, 3F

06/21 14:39, , 4F
就你的測資,local 對傳,單位約 0.05 秒,線性成長
06/21 14:39, 4F
文章代碼(AID): #18MzUDk8 (Ruby)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 4 篇):
文章代碼(AID): #18MzUDk8 (Ruby)