[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

284.0. "ada - microVAX II" by MINDER::EWINGR () Wed Sep 12 1990 12:49

    
    just a quickie, I hope
    
    Does VAX/ADA run ok on a microVAX II with 16Mb and 
    RD disks?             
T.RTitleUserPersonal
Name
DateLines
284.1if it does, then very slooooooooowlyUTRUST::DEHARTOGmoduladaplisprologopsimulalgolWed Sep 12 1990 15:482
Check the SPD for the specific version of ADA.
However, do not expect ADA to "run"; if it moves, it'll walk slowly.
284.2TLE::BRETTWed Sep 12 1990 17:589
    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.3Further...COUNT0::WELSHTom Welsh, freelance CASE ConsultantThu Sep 13 1990 05:2334
	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.4Sorry,ACTRIX::dehartogmoduladaplisprologopsimulalgolThu Sep 13 1990 06:108
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.5TLE::BRETTThu Sep 13 1990 09:0833
    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.6Caveat: running VMS...KRISIS::reevesJon Reeves, ULTRIX compiler groupThu Sep 13 1990 12:403
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.7Can get away with lessGIDDAY::GILLINGSNPa crucible of informative mistakesThu Sep 13 1990 19:226
  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.8SWTHOM::LELEGARDThe Jazzing TrollWed Sep 19 1990 06:2912
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