Posted By: Eric Wong
Date: 2010-05-27 20:51
Summary: io_splice - zero-copy pipe I/O for Linux and Ruby
Project: Quack Ruby Projects

The splice family of Linux system calls can transfer data between file
descriptors without the need to copy data into userspace. Instead of a
userspace buffer, they rely on an ordinary Unix pipe as a kernel-level

* />* git://


io_splice is now easier to use, as it can take IO/File objects in
addition to raw file descriptors as arguments.

IO.vmsplice now always splices buffers in full, since it's too difficult
to use otherwise. Keep in mind that the usefulness of vmsplice is still
questionable from Ruby and IO.writev (from the "io-extra" gem) is more
flexible as it allows writing to non-pipe descriptors.

There are also some code cleanups and improved documentation.

Latest News
TZInfo::Data v1.2014.2 Released
    Philip Ross - 2014-03-25 22:32
TZInfo v0.3.39 Released
    Philip Ross - 2014-03-09 20:23
TZInfo::Data v1.2014.1 Released
    Philip Ross - 2014-03-09 20:00
Automatic Ruby 14.2.0 has been released!
    id 774 - 2014-02-26 06:23
kramdown 1.3.2 released
    Thomas Leitner - 2014-02-16 08:35


Forums | Admin

Discussion Forums: io_splice-zero-copy-p

Start New Thread Start New Thread


Topic Topic Starter Replies Last Post