Windows操作系统中是否存在零拷贝? [英] Does Zero-copy exist in Windows OS?
问题描述
阅读此零拷贝文章,
Windows OS(服务器2003、2008、2008 R2)中是否存在零拷贝?
Does Zero-copy exist in Windows OS (server 2003, 2008, 2008 R2) ?
推荐答案
Yes, it is supported via the TransmitFile
API.
我非常确定IIS也使用此功能.
I'm pretty sure that IIS uses this as well.
该方法是否进行真正的零复制(即甚至不从文件缓冲区复制到套接字缓冲区)都没有在文档中明确提及.但是考虑到该方法的定义方式使得绝对成为可能,如果不是这种情况,我会感到非常惊讶.
Whether or not this method does real zero-copy (i.e. doesn't even copy from the file buffers to the socket buffers) is not explicitly mentioned in the documentation. But given the fact that this method is defined in a way that definitely makes it possible, I'd be highly surprised if this were not the case.
最接近文档说明的是本段:
The closest the documentation comes to stating it clearly is this paragraph:
[...]
TransmitFile
通过直接从文件缓存发送数据来提高性能.
[...]
TransmitFile
achieves its performance gains by sending data directly from the file cache.
这篇关于Windows操作系统中是否存在零拷贝?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!