From: ptkwt@... (Phil Tomson) Date: 2006-02-02T17:03:18+09:00 Subject: Re: #defines in Ruby's .c files In article <1138861656.852332.2507.nullmailer@x31.priv.netlab.jp>, Yukihiro Matsumoto wrote: >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. > > It looks like he found some other problems with that patch (core dumps). So the idea is being rethought. Phil