splice
for socket-to-socket data transfer on Linux.
>Do other operating systems (especially at least Windows, OS X and FreeBSD) implement splicing or equivalent solutions?
>Is it possible to use sendfile¹memmap¹ to simulate socket-to-socket data splicing on Windows?
¹Both exist on Windows with different names, I don’t remember.
Update
You can see splice and user space on Linux Buffer performance improvement.
> DF , DR, F, MF, MR are my applications in different tunnel modes, NX is NGINX web server
> -pt uses Linux system call splicing
> pt uses portable implementation with user space buffer< br>> pt uses a portable implementation with user space buffers and multiple OS threads
>bars indicate throughput in gigabits per second
>a 1 gigabyte (1048576000 Byte) file is repeated 4 times by 4 concurrent clients
In the application I am developing, I use splice on Linux
for socket-to-socket data transfer.
>Do other operating systems (especially at least Windows, OS X and FreeBSD) implement splicing or equivalent solutions?
>Is it possible to use sendfile¹memmap¹ to simulate socket-to-socket data splicing on Windows?
¹Both exist on Windows with different names, I don’t remember.
Update
You can see splice and user space on Linux Buffer performance improvement.
> DF , DR, F, MF, MR are my applications in different tunnel modes, NX is NGINX web server
> -pt uses Linux system call splicing
> pt uses portable implementation with user space buffer< br>> pt uses a portable implementation with user space buffers and multiple OS threads
>bars indicate throughput in gigabits per second
>a 1 gigabyte (1048576000 Byte) file is repeated 4 times by 4 concurrent clients
OpenBSD has sosplice and somove: http://www.openbsd.org/cgi- bin/man.cgi?query=sosplice