From: Yukihiro Matsumoto Date: 2006-02-02T15:28:04+09:00 Subject: Re: #defines in Ruby's .c files Hi, In message "Re: #defines in Ruby's .c files" on Thu, 2 Feb 2006 06:45:53 +0900, ptkwt@aracnet.com (Phil Tomson) writes: | |I was talking to someone on irc who was trying to speed up sockets - he came up |with a way to do it by modifying sysread() so that a new buffer doesn't always |have to be allocated on each call. (sped up sockets by 314x by his account, BTW |:) However, he had to patch the Ruby source code to do this because he was not |able to access a macro (READ_DATA_BUFFERED) from his extenstion code. Turns |out that the macro READ_DATA_BUFFERED is defined in io.c, so you can't use it |from an extenstion. | |So, I got to thinking that maybe #defines like that should go into .h files, |not .c files (maybe it should be #define'd in rubyio.h) so that they are |accessable in extenstions. | |Would it be possible to move some of them to .h files for 1.8.5 (or at least |before 2.0)? How about merging his patch to io.c? I would be very glad to apply if it increases io performance 314 times. matz.