home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / ada / 2171 < prev    next >
Encoding:
Text File  |  1992-07-22  |  2.4 KB  |  54 lines

  1. Newsgroups: comp.lang.ada
  2. Path: sparky!uunet!usc!cs.utexas.edu!sun-barr!ames!agate!linus!linus.mitre.org!linus!mbunix!emery
  3. From: emery@Dr_No.mitre.org (David Emery)
  4. Subject: Verdix, generics and optimization
  5. In-Reply-To: mfausett@bbn.com's message of 22 Jul 92 01:25:27 GMT
  6. Message-ID: <EMERY.92Jul22092751@Dr_No.mitre.org>
  7. Sender: news@linus.mitre.org (News Service)
  8. Nntp-Posting-Host: dr_no.mitre.org
  9. Organization: The Mitre Corp., Bedford, MA.
  10. References: <2329@nic.cerf.net> <1992Jul17.195605.26215@mksol.dseg.ti.com>
  11.     <mfausett.711768327@kirin>
  12. Distribution: usa
  13. Date: Wed, 22 Jul 1992 14:27:51 GMT
  14. Lines: 38
  15.  
  16. Verdix' implementation of generics in the "bad old days" was
  17. particularly fragile.  We were burned by this during the IEEE Ada
  18. Applications and Environments "Ada Programming Contest".  We
  19. made heavy use of generics, and ran into a compiler bug.  We ran out
  20. of time trying to work around the bug and redesign our solution.
  21.  
  22. In part the problems with generics were due to some weaknesses in the
  23. ACVC's on generics.  I believe that the ACVC's for generics were
  24. substantially improved based on such experiences.
  25.  
  26. In Verdix' defense, they have always been out front in terms of
  27. capabilities for generics.  For instance, Verdix did not (does not)
  28. require that the specification and body of a generic be in the same
  29. compilation.  DEC Ada had that restriction for quite a long time, as
  30. did other compilers.  
  31.  
  32. This restriction, although strictly legal, has a significant negative
  33. impact on how you use generics. In some cases, we had programs where,
  34. because of this rule, most of the program had to be in a single
  35. compilation, which goes against the whole idea of separate
  36. compilation.  And, I think we came up with a program that could not be
  37. compiled under this restriction.
  38.  
  39. Verdix was one of the first compilers to support code sharing for
  40. generics, too.  Again, this has an impact on the user.  A 'design
  41. style' using a lot of instantiations of reusable components can
  42. quickly run out of memory without code sharing.  
  43.  
  44. In general, I believe that these optimizations (not restricting
  45. generic specs and bodies in the same compilation, and code sharing)
  46. are very critical optimizations, in that they have a significant
  47. impact on the design of a system.  
  48.  
  49. Unfortunately, these are the kinds of optimizations that the normal
  50. set of PIWG/HARTSTONE/WHETSTONE/DHRYSTONE benchmarks don't capture
  51. very well.
  52.  
  53.                 dave
  54.