From 851855c73f5ea3b1a7117af99b63e8348bc3b2d8 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 10 Jan 2015 03:24:42 +0000 Subject: pack internal structs for 64-bit systems This reduces stack usage in some places, perhaps providing a miniscule improvement in GC performance. struct before after difference splice_args 48 40 8 vmsplice_args 32 24 8 --- ext/io_splice/io_splice_ext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/io_splice/io_splice_ext.c b/ext/io_splice/io_splice_ext.c index 2e2caec..276f3a6 100644 --- a/ext/io_splice/io_splice_ext.c +++ b/ext/io_splice/io_splice_ext.c @@ -125,8 +125,8 @@ static void * WITHOUT_GVL(rb_blocking_function_t *func, void *data1, struct splice_args { int fd_in; - off_t *off_in; int fd_out; + off_t *off_in; off_t *off_out; size_t len; unsigned flags; @@ -402,9 +402,9 @@ static VALUE trytee(int argc, VALUE *argv, VALUE self) struct vmsplice_args { int fd; + unsigned flags; struct iovec *iov; unsigned long nr_segs; - unsigned flags; }; static void * nogvl_vmsplice(void *ptr) -- cgit v1.2.3-24-ge0c7