T.R | Title | User | Personal Name | Date | Lines |
---|
284.1 | if it does, then very slooooooooowly | UTRUST::DEHARTOG | moduladaplisprologopsimulalgol | Wed Sep 12 1990 15:48 | 2 |
| Check the SPD for the specific version of ADA.
However, do not expect ADA to "run"; if it moves, it'll walk slowly.
|
284.2 | | TLE::BRETT | | Wed Sep 12 1990 17:58 | 9 |
| UTRUST::DEHARTOG is just showing his ignorance in public.
Yes, it will run just fine. The RD32 is a little slow, so you'll need to
make sure your caches etc. are set high enough to use that memory.
VAX Ada V2.2 uses even more internal caching - so compile more than one
unit per line if you possibly can.
/Bevin
|
284.3 | Further... | COUNT0::WELSH | Tom Welsh, freelance CASE Consultant | Thu Sep 13 1990 05:23 | 34 |
| re .2:
You can believe Bevin, he wrote the compiler! I agree that reply .1
doesn't say anything constructive, and would have been better left
unwritten.
It's an old chestnut that Ada is slow and complicated. It's true the
language is complicated - VAX Ada runs about 3000 blocks compared
to 400 or so for FORTRAN and less than 1000 for most languages. But
on the other hand, Ada has the functionality to do more or less
anything you can do with any language.
VAX Ada is possibly the most efficient Ada compiler you can buy.
It will compile and run average programs at speeds comparable to
other VAX compilers such as FORTRAN and Pascal.
When I was running VAX Ada V1.* on a MicroVAX II with 16 megabytes
and 2 RD54s, I expected to compile code at about 700 lines per
minute on average. To get this performance, it helps to have a
large working set. From memory, WSDEF should be around 500-1000,
WSQUOTA at least 1500, and WSEXTENT as high as you can afford.
Of course, WSMAX must be >= WSEXTENT. You also want a high
VIRTUALPAGECNT and PGFLQUOTA, with a corresponding pagefile.
(I would want at least 50,000 blocks, preferably more). Below
1500 pages, VAX Ada may start to page heavily and run a lot slower,
but even then it's good at making the most of its resources.
As a DCC CASE consultant with 6 years of Ada experience, I consider
VAX Ada to be one of the best engineered and highest quality
corporate software products to come out of Digital, and I would
definitely point to it as an example of how a product should be
developed.
/Tom
|
284.4 | Sorry, | ACTRIX::dehartog | moduladaplisprologopsimulalgol | Thu Sep 13 1990 06:10 | 8 |
| I apologize for .1. My ignorance came from the time I was working with
Ada V1.* on a uVAX II with not enough memory and had no knowledge/privilege
to tune all the necessary SYSGEN-parameters. So it ran slowly for me but I
admit that the quality of the compiler was there from the very beginning.
I could not imagine that performance could be improved on uVAX to a satis-
factory level for Ada. I'm glad it happened and feel ashamed.
Thanks for the lesson, Hans.
|
284.5 | | TLE::BRETT | | Thu Sep 13 1990 09:08 | 33 |
| Apology accepted - I know how "once bitten, twice shy" applies as a
proverb to using s/w as much as it does to other aspects of life.
Tom's advice on parameters is correct.
To reduce disk traffic, the following approaches are essential. A 16Mb
system has enough memory that you should be using significant amounts
of it to reduce disk traffic.
Disk traffic is caused by (a) image paging, (b) reading the results of
previous compilations, and (c) writing the results of this compilation.
reduce (a) by having a large enough WSEXTENT and WSMAX, and also by
using ACS or some other method for compiling multiple sources per
invocation of the compiler.
reduce (b) by having
(1) The file header cache should be set to a size large enough to
cache most (all?) of the headers for the compilation units - I have
had it set to 500 or more, and it makes quite a difference because
it dramatically reduces seeks.
(2) the directory caches should be high enough to keep all the
active directories in cache
(3) a reasonable cluster size on the disks will reduce
fragmentation, say 6-12 rather than 1-3. Since many of the .ACU
are in the 6-12 range, this can help too.
reduce (c) [no where near as important as a or b] by having a
reasonable cluster size.
/Bevin
|
284.6 | Caveat: running VMS... | KRISIS::reeves | Jon Reeves, ULTRIX compiler group | Thu Sep 13 1990 12:40 | 3 |
| You didn't mention it in .0, and neither did any of the respondents,
but there's one other precondition: that MicroVAX II has to be running
VMS, not ULTRIX.
|
284.7 | Can get away with less | GIDDAY::GILLINGSNP | a crucible of informative mistakes | Thu Sep 13 1990 19:22 | 6 |
| I have a customer who is running VAX Ada on a �VAX-II with *8MB* of memory.
They called complaining of poor performance, when told of the size of the
machine I nearly fell off my chair. It turned out, however, that their working
sets were absurdly small. Raising them to more reasonable levels returned
"adequate" performance.
John Gillings, Sydney CSC
|
284.8 | | SWTHOM::LELEGARD | The Jazzing Troll | Wed Sep 19 1990 06:29 | 12 |
| Re .7
Before working for Digital, my team developed a Prolog compiler in Ada.
We were 3 users on a MicroVax II with ** 9 Mb ** and a RA81 and a TSV05,
developing in Ada. The performances were not excellent but perfectly
acceptable.
I don't remember the values of SYSGEN and UAF parameters so I cannot
give you a technical advice. But, on a psychological point of view,
this configuration is small but acceptable.
-Thierry
|