From: brian@jaguar.cs.utah.edu (Brian Sturgill)
Subject: Re: Tidbits about NT and OS/2 from the trade rags.
Organization: University of Utah CS Dept
Date: Wed, 7 Oct 92 02:35:33 GMT

In article <19921006.190351.120@almaden.ibm.com> francis@vnet.ibm.com writes:
>In article <1992Oct5.161201.20918@hellgate.utah.edu>,
...
> - The fact that your code is still failing after "14 bug fix releases"
>   is partly related to the fact that we didn't know (and still don't
>   know, to my knowledge) how your code is failing.  Again, I'm not
>   trying to blame you --far from it-- but it would seem to me that
>   after you've spent 12 hours narrowing a bug down, spending another
>   2 minutes to send a note to cset2@vnet.ibm.com (even if all you are
>   able to do is outline the symptoms of the bug) is not too much of a
>   burden.   I believe Ian gave you a workaround for the only bug you've
>   reported within 12 hours.
>
>I understand your frustration.  I've used buggy development tools in the
>past, and know how annoying it can be.  It's for exactly that reason
>that we are so determined to fix any bug in the compiler.  That's also
>why Ian, Dave & myself (and others) follow these newsgroups.  But without
>any hint as to the nature, or even the existence of a bug, there's only
>so much we can do.

I understand that you must have that sort of feedback to fix oddball
bugs with optimizers... however I don't regard the problems I have with
WorkSet/2 as "oddball".

Rest assured that if I had actually narrowed the optimizer bug down
I would have sent it to you, but this is not the case.  The project I'm
working on consists of over 100 < 10,000 lines of code programs (plus
a few big ones), and a library of over 200 function calls used by the
100+ programs.  When I got CS0014 (and finally found time) I installed it.
Recompiled all the libraries, and then started recompiling and testing programs.
This plus the time to back out the optimized compiles
(I still use CS0014, but with out the optimizer on) is what took 12 hours.
The first time I found a bug.  I recompiled without the optimizer, the problem
went away, I said.. well I'm willing to track down 1 problem... I recompiled
and tested some more programs... hit another bug... well, maybe... hit
bug 3.. bye bye bug fix... it would take days to track it all down... and
I'm not willing to do that.

I'm not lying about the percentages... I tried 10 programs... 3 broke
when compiled with the optimizer.  These are 3 bugs that rudimentary testing
turned up... imagine how many subtle/undetected ones were running around.
I know you believe that millions of lines are successfully making it through
that optimizer... but I strongly suspect that many just swear at IBM and
turn the optimizer off.  Remember... the only reason you know about my
problems is that I've been mouthing off... most places might track that
first problem and report it... but if my experience with the IBM problem
reporting system is typical... you never hear about the rest.
The programs are mainly ports of code from Unix, so I'm sure that my
percentages are somewhat skewed, but I simply don't believe that most
large projects make it through that optimizer unscathed.

Ask Soyring to take a poll at the upcoming Developer's Conference... maybe
you can get better feedback that way.
Also, I BEG OF YOU PLEASE, PLEASE, PLEASE, add some level flags to the
optimization so that I can keep standard optimizations on, but can
turn off the fancier stuff.  The real problem here is that C Set/2 tries
to be overly smart.  It is crazy to think that one can send out a perfect
optimizer on the first try, and rude to force your customers to have the
only recourse of sending out unoptimized code.

Brian
-- 
C. Brian Sturgill                I strongly encourage you to read Ross Perot's
University of Utah                             United We Stand
Center for Software Science             How we can take back our country.
brian@cs.utah.edu; CIS: 70363,1373  (It's more important than OS/2 vs NT! :-))
Xref: sparky comp.os.os2.advocacy:6642 comp.sys.intel:1820 comp.sys.ibm.pc.hardware:25778