home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / compiler / 1898 < prev    next >
Encoding:
Text File  |  1992-11-17  |  2.3 KB  |  52 lines

  1. Newsgroups: comp.compilers
  2. Path: sparky!uunet!usc!sol.ctr.columbia.edu!eff!world!iecc!compilers-sender
  3. From: preston@dawn.cs.rice.edu (Preston Briggs)
  4. Subject: Re: And speaking of fast compilers...
  5. Reply-To: preston@dawn.cs.rice.edu (Preston Briggs)
  6. Organization: Rice University, Houston
  7. Date: Tue, 17 Nov 1992 02:14:59 GMT
  8. Approved: compilers@iecc.cambridge.ma.us
  9. Message-ID: <92-11-089@comp.compilers>
  10. References: <92-11-057@comp.compilers> <92-11-084@comp.compilers>
  11. Keywords: performance, Ada, design
  12. Sender: compilers-sender@iecc.cambridge.ma.us
  13. Lines: 37
  14.  
  15. sasdrf@unx.sas.com (Dave Frederick) writes:
  16.  
  17. >One of the hot topics when I last worked on an Ada compiler was doing the
  18. >above range and bounds checking optimization across procedures in a
  19. >package. Interprocedural analysis is quite helpful for determining the
  20. >possibility of these errors on var parameters. Of course, with a 7000-line
  21. >package of page-sized procedures, we could be talking about 200-300
  22. >procedures on which to perform inter-procedural analysis. This could be a
  23. >week's worth of work.
  24.  
  25. Depends a lot on the exact formulation of the problem.  Some approachs to
  26. problems like interprocedural constant propagation, aliasing, etc. have
  27. worked out very well.  Others are NP-complete.
  28.  
  29. Back to the fast compiler idea though...
  30.  
  31. One idea that hasn't been mentioned was explored by Rick Bubenik in his
  32. thesis -- optimistic computation (where explored optimistic compilation as
  33. a particular instance).  Basically, every time you save a source file, it
  34. fires off a new make job on another processor.  If the compile fails due
  35. to errors -- fine, throw it away (but keep the stderr file).  If it
  36. suceeds -- great, now wait for the user to type make!
  37.  
  38. Rather similar to speculative execution being explored in processor
  39. architecture.  Of course, you may need more hardware, but lots of us work
  40. on big networks of machines.  Or we could even attempt the compile in
  41. background -- after all, I don't use much of the machine to edit.  Of
  42. course, with a network, it makes more sense to fire up a big parallel make
  43. (imagine we're editing an important include file).
  44.  
  45. I would assume that some of these ideas have also been explored in the
  46. programming environment community.
  47.  
  48. Preston Briggs
  49. -- 
  50. Send compilers articles to compilers@iecc.cambridge.ma.us or
  51. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  52.