2011-12-07 30 views
4

Wikipedia's introduction to splice,我發現:爲什麼在沒有DMA的情況下使用套接字拼接不能提高性能?

當使用帶插座接頭(),網絡控制器(NIC)必須支持 DMA。

當NIC不支持DMA時,splice()將不會提供任何 性能改進。其原因是 管道的每個頁面將只填滿幀大小(每頁可用4096個 字節的1460個字節)。

據我瞭解,接頭提高性能,因爲:

  • 有背景不太切換
  • 它最大限度地減少副本的(至少兩個DMA副本)

如果數量網卡不支持DMA副本,我們使用CPU副本。這比正常的拷貝還要好,因爲它們必須進入用戶空間。

所以,我不明白爲什麼維基百科說沒有DMA支持的網卡沒有性能改進。

回答

0

也許維基百科錯誤嗎?該文章已被標記爲輕度引用...

相關問題