# Io\_splice 2.2.0 - updates for Linux 2.6.35

**URL:** <https://www.ruby-forum.com/t/io-splice-2-2-0-updates-for-linux-2-6-35/192569>\
**Category:** Ruby\
**Created:** [August 2, 2010, 10:10am UTC](https://www.ruby-forum.com/t/io-splice-2-2-0-updates-for-linux-2-6-35/192569 "2010-08-02T10:10:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ericw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/97f17d/32.png) [@ericw](https://www.ruby-forum.com/u/ericw)\
**Post date:** [August 2, 2010, 10:10am UTC](https://www.ruby-forum.com/t/io-splice-2-2-0-updates-for-linux-2-6-35/192569/1 "2010-08-02T10:10:02Z")

</div>

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  
buffer.

- [io\_splice - zero-copy pipe I/O for Linux and Ruby](http://bogomips.org/ruby_io_splice/)
- removed\_email\_address@domain.invalid
- git://git.bogomips.org/ruby\_io\_splice.git

Changes:

This release adds IO#pipe\_size and IO#pipe\_size= accessors for  
resizing the kernel pipe buffer under Linux 2.6.35+. This  
functionality may be used to either reduce memory footprint or  
make large copies with fewer method dispatches and system calls.

These methods are only available when run under Linux 2.6.35 or  
later (but always built, so there’s no need to recompile this  
library after upgrading your kernel).

[http://bogomips.org/ruby\_io\_splice/IO.html#method-i-pipe\_size](http://bogomips.org/ruby_io_splice/IO.html#method-i-pipe_size)  
[http://bogomips.org/ruby\_io\_splice/IO.html#method-i-pipe\_size%3D](http://bogomips.org/ruby_io_splice/IO.html#method-i-pipe_size%3D)
