阅读这篇零拷贝文章,
Windows操作系统(server 2003、2008、2008 R2)是否存在零拷贝?
是,通过TransmitFile
API支持。
我很确定IIS也使用这个。
这个方法是否做真正的零复制(即甚至不从文件缓冲区复制到套接字缓冲区)在文档中没有明确提到。但是考虑到这个方法的定义方式绝对使它成为可能,如果不是这样的话,我会非常惊讶。
最接近于说明清楚的文档是这一段:
[…
TransmitFile
通过直接从文件缓存中发送数据来实现性能提升。