From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,fa1cf2c5543f9ef8,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-10-24 10:18:03 PST Path: bga.com!news.sprintlink.net!howland.reston.ans.net!agate!blanket.mitre.org!linus.mitre.org!linus!mbunix!eachus From: eachus@spectre.mitre.org (Robert I. Eachus) Newsgroups: comp.lang.ada Subject: Re: compilation time [was Re: Magnavox consultant] Date: 24 Oct 94 11:15:07 Organization: The Mitre Corp., Bedford, MA. Message-ID: References: <38afut$8m9@news.delphi.com> NNTP-Posting-Host: spectre.mitre.org In-reply-to: tmoran@bix.com's message of 22 Oct 1994 07:45:33 GMT Date: 1994-10-24T11:15:07+00:00 List-Id: In article <38afut$8m9@news.delphi.com> tmoran@bix.com writes: > I can't imagine attempting to maintain a package with more than 500 > 'with's, so perhaps compilation time has an exponent significantly > greater than one initially, but decreasing to one at 1,000 > packages. Who has statistics? (And does C, what with 'include's, > scale similarly?) Not statistics, but a rule of thumb. If package specifications average more than six withs, or if there are more than about ten on the package bodies, or if more than 16 total apply to a particular subunit, your coupling and cohesion are out of control, and a project wide design review is in order. Again the above is not a set of magic numbers, and in any case they are averages, not per unit limits, but these values seem to be around the knee of the (Ada 83) curve. I have no idea yet what the numbers are for 9X. Child units both make counting more difficult, and mean that there may be significantly more with clauses in the same (Ada 83) design, because massive packages have been decomposed into subsystems with many child packages. Should you count an entire subsystem as one "with"? I don't know, I have trouble enough in Ada 83 eliminating double counting. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...