[#444] io_write()/fwrite() and EINTR on Solaris — Jos Backus <jos@...>

I am encountering a problem similar to the one mentioned here,

19 messages 2002/09/06
[#453] Re: io_write()/fwrite() and EINTR on Solaris — nobu.nokada@... 2002/09/08

Hi,

[#454] Re: io_write()/fwrite() and EINTR on Solaris — matz@... (Yukihiro Matsumoto) 2002/09/09

Hi

[#469] Re: io_write()/fwrite() and EINTR on Solaris — Jos Backus <jos@...> 2002/09/09

On Mon, Sep 09, 2002 at 03:55:13PM +0900, Yukihiro Matsumoto wrote:

[#479] Re: io_write()/fwrite() and EINTR on Solaris — Jos Backus <jos@...> 2002/09/10

On Tue, Sep 10, 2002 at 01:04:10AM +0900, Jos Backus wrote:

[#492] Re: io_write()/fwrite() and EINTR on Solaris — Jos Backus <jos@...> 2002/09/21

On Wed, Sep 11, 2002 at 02:23:33AM +0900, Jos Backus wrote:

RE: Mswin32 build flags

From: "Christoph" <chr_news@...>
Date: 2002-09-03 18:51:20 UTC
List: ruby-core #422

> -----Original Message-----
> From: U.Nakamura [mailto:usa@osb.att.ne.jp]
> Sent: Friday, August 16, 2002 9:13 AM
> To: ruby-core@ruby-lang.org
> Subject: Re: Mswin32 build flags
> 
> Hello,
> 
> In message "Mswin32 build flags"
>     on Aug.16,2002 15:52:41, <chr_news@gmx.net> wrote:
> | Unfortunately these builds also miserably fail the basic
> | ``nmake test'', however by only turning off the /Og
> | flag turning the compilation of the file ``sprint.c''
> | one seems to get an executable which seem to enjoy
> | the speed gain of a full /Og optimization which
> | passes the basic  "nmake test" (true at least for
> | VC 7) - so I am wondering if there are known issues
> | against such a compilation strategy?
> 
> Because there are more problems with /Og flag
> (GC, Regexp, etc).
> So, I cannot say that /Og is reliable.

Thanks  (and sorry for the late reply) 


I played around with this yesterday and essentially found 
four methods which not should be compiled with the /Og flag 
(turned on/off with the optimize pragma)


rb_big2dbl(x) ( bignum.c  811 )
rb_f_sprintf  ( sprintf.c 105 )
rb_obj_as_string(obj) ( string.c  280)
pack_pack     ( pack.c 332 ) 

Compiled like this ruby (1.7.3 (2002-08-29) [i386-mswin32])
fails no additional rubicon test, in fact it passes one 
additional, hence all, thread tests (on my machine at least).
An additional advantage is that the notoriously low recursion
limit (on mswin32) is also improved by a factor of two.  

It is really a pity that the /Og flag is not totally reliable,
but why not make it a configure option or at least mention it 
the ``README''  + put on/off optimize macros around known ``iffy''
methods? The speed increase is sooo substantial that it should not
be ignored imho - (I'm particularly thinking about Andy's binary 
distribution here).

   

/Christoph

In This Thread

Prev Next