home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / os / os2 / programm / 3830 < prev    next >
Encoding:
Text File  |  1992-07-27  |  7.8 KB  |  196 lines

  1. Newsgroups: comp.os.os2.programmer
  2. Path: sparky!uunet!caen!hellgate.utah.edu!jensen.cs.utah.edu!brian
  3. From: brian%jensen.cs.utah.edu@cs.utah.edu (Brian Sturgill)
  4. Subject: Re: Can someone at IBM please explain why developers should develop for OS/2?
  5. Date: 28 Jul 92 02:14:36 MDT
  6. Message-ID: <1992Jul28.021436.2865@hellgate.utah.edu>
  7. Organization: University of Utah CS Dept
  8. Lines: 186
  9.  
  10.  
  11.  
  12. Below is a response to two different individuals from IBM.
  13. I wish to thank them both for responding to my original post.
  14. By the same token I don't think I am getting my message through, so
  15. I'll post another message explaining what I'm driving at.
  16. In this message I'll deal only with the issues relating
  17. to the IBM WorkSet/2 "professional" development system.
  18.  
  19. I put the "professional" in quotes as I have trouble believing anyone
  20. would bill it as a professional development system.
  21. I doesn't have C++ or a even a profiler.
  22. It's optimizer is buggy (though having finally tracked one down
  23. into a small code sample, it may not be quite as bad as I thought).
  24. It is dog slow, and (I had not realized this as I have a 16 meg machine)
  25. it is a pig.  Thus I think in my mind, C Set/2 will from here on
  26. be referenced as the PIG-DOG compiler.  (Wouldn't it be fun
  27. it the name caught on... I bet that would get it fixed fast!)
  28.  
  29. Feel free to pass this message on to the IBM internal network, friends,
  30. collegues, etc.
  31.  
  32. > From: dmm@vnet.ibm.com (dave)
  33. > Newsgroups: comp.os.os2.programmer
  34. > ...
  35. > In <1992Jul24.182822.24148@hellgate.utah.edu> Brian Sturgill writes:
  36. > > I had assumed that with the beta tools, that they were slow because of debug
  37. > > code... Wrong... this compiler's a dog.
  38. > I can't comment on your comments about support, ordering, or NFS, but I
  39. > can comment on compiler stuff.  The problem with the compiler is not that
  40. > it's a dog, the problem is that it's a pig: it likes to have lots and
  41. > lots of memory available.  We're fixing that, though.  The first CSD
  42. > features a performance improvement of around 10%, and the next CSD will
  43. > have significant improvements in working-set size, which will lead to
  44. > better swapper behaviour.  Some of our preliminary tests show compile-
  45. > time improvements of around 25% over the first CSD on small machines.
  46. > We'll let you know when this is available.  In the mean time, you'll see
  47. > big improvements if you jack your machine up to 16M of RAM.  I know that
  48. > this is a poor way to fix the compiler's memory allocation problems, but
  49. > it *will* give you fast relief.
  50. Thanks for trying, but I already _HAVE_ a 16 meg machine.  However,
  51. following your general idea, I threw an extra 4 megs into the machine, 
  52. and it does help.
  53. The compiler is still a dog though... think I'm talking hot air?
  54. Here's a minor benchmark:
  55. I took a small program (2 files, total of 752 lines) and
  56. ran it through ICC, GCC (in the EMX freeware package), and Borland
  57. C/C++ 3.0 for DOS (BCC).
  58. These were all ran on a 386/33 (128K cache) with 20 megs of RAM.
  59. ICC was on an HPFS volume, GCC and BCC were on badly fragmented FAT
  60. volumes, and thus ICC should have an advantage.
  61. Times include all of the compile and link.
  62. To avoid caching differences, I ran the compiles twice and
  63. only timed the second one for each platform.
  64. BCC was given 4 megs of DPMI memory in an OS/2 DOS box.
  65. Command lines used:
  66.     ICC FMT.C HEAD.C
  67.     GCC FMT.C HEAD.C
  68.     BCC -efmt -ml FMT.C HEAD.C
  69.  
  70. Results (in seconds):
  71.     ICC    30.46
  72.     GCC    12.92
  73.     BCC    13.25
  74.  
  75. In other words a freeware compiler designed for another platform, and
  76. a 16-bit DOS compiler are both more than twice faster than ICC.
  77. If I were on the C Set/2 team, I'd be quite embarrased.
  78.  
  79. > > Also in June... the projects mostly there... I turn on the optimizer...
  80. > > Gak!!! it screws up loop expression-extraction optimization.
  81. > > I loose a week trying to get around the problems... decide I'll just have
  82. > > to live without optimization... I don't call IBM!!! -- I'd lose another week.
  83. > How do you expect us to fix bugs if you don't tell us what they are?
  84. > ...
  85. At the end of this message, I've included a small program that trips
  86. the bug.
  87. To see the bug... ICC prog.c works, ICC -O+ prog.c doesn't.
  88. > dave
  89. > -------------------------------------------------------------------------
  90. > Dave Mooney                                              dmm@vnet.ibm.com
  91. >  C Set/2 Development, IBM Canada Lab, 844 Don Mills Rd, Toronto, Ontario
  92. >             "If you've got a blacklist, I want to be on it"
  93.  
  94. ********** Second Message **************
  95.  
  96. > From: francis@vnet.ibm.com (Tim Francis)
  97. > Newsgroups: comp.os.os2.programmer
  98. > ...
  99. > ...
  100. > you've been having.  I have posted your item internally, but have no idea
  101. > ...
  102. Thank you, I appreciate it.
  103. > Let me address a couple of items:
  104. >  - You found a bug in the optimizer, but didn't report it.
  105. >      fed-ex a fix out to you.  There is a compiler CSD available already
  106. I have the CSD from CompuServe, but as it does not contain a list
  107. of bugs fixed, and claims to be BETA in a readme, I am somewhat hesitant
  108. to try it.  Is it stable? (I.E. I really don't want my beta testers
  109. debugging your beta and my beta.)
  110.  
  111. >  - Your desire for C++ and a profiler.
  112. >      Please understand that a "new, open IBM" does imply that we should lay
  113. >      _all_ our plans on the table - this is a competitive market.  You are
  114. >      asking me for specific details about a future, unannounced version of
  115. >      our product, and I just can't comment in that sort of detail.
  116. >      Trust me: * Your concerns (and wishes) are being listened to.
  117. >                * C Set/2 is a fully supported compiler, still undergoing
  118. >                  development and enhancments.
  119. >                * _I_ believe in making as much information as possible
  120. >                  available to you, as soon as possible.  The decision to
  121. >                  develop or not develop, announce or not announce, any given
  122. >                  product, or component of that product, is very carefully
  123. >                  thought out.  As soon as I _can_, I _will_ tell you.
  124. I had a lot of nasty things to say about this section, but I'll let it pass.
  125.  
  126. >  - You say that we should have made available, from day 1, a development
  127. >    environment "WITH ALL THE PROGRAMMING DOCS (at least on-line), and
  128. >    the hard copies of docs AT COST."
  129. >      Correct me if I've misunderstood you, but the programming docs are
  130. >      provided (on-line) with the toolkit (part of the WorkSet).  Look in
  131. >      your toolkit folder, under "Toolkit information".    -tim
  132. What I'm talking about is the overview manuals.  The reference
  133. manuals are there, but the other things are not.
  134. Further the help system makes it very hard to print things out, it's
  135. more or less the whole huge document, or a "page" at a time.
  136.  
  137. Not addressed above.
  138.  
  139. Why does a "professional" development environment not have a profiler?
  140. Why is it so slow?
  141. Why does IBM charge so much for the hardcopy manual set?
  142. How can anyone possibly justify a >$800 price tag?
  143.  
  144. I'm somewhat amazed at your messages... it seems to me that you
  145. see nothing incredibly wrong with the package having been released
  146. like that.  It seems to me that you've perhaps not compared it to
  147. other packages on peer platforms.  Against any package I've seen
  148. that bills itself as a professional development package, Workset/2
  149. is very weak.
  150.  
  151. Anyway you guys are obviously "Good Joes" for answering, so I don't
  152. want to beat on you too badly.
  153.  
  154. Here's the code that breaks the optimizer:
  155.     #include <stdio.h>
  156.     #include <ctype.h>
  157.     void doit(char *p)
  158.     {
  159.         long isbad;
  160.  
  161.         isbad = 0;
  162.         if (!isalpha(*p++))
  163.             isbad = 1;
  164.         for (;;) {
  165.             if (!isalpha(*p) && !isdigit(*p)) {
  166.                 if (*p == '\0' || *p == '=')
  167.                     break;
  168.                 isbad = 1;
  169.             }
  170.             p++;
  171.         }
  172.         printf("%ld\n", isbad);
  173.     }
  174.  
  175.     void main(void)
  176.     {
  177.         doit("test");
  178.     }
  179.  
  180. When the optimizer is turned on, isbad is not initialized to zero and
  181. thus contains junk. (I've checked the assembly output and what I'm saying
  182. is what is happening.)
  183.  
  184.  
  185. Brian
  186.