comp.lang.ada
 help / color / mirror / Atom feed
From: crispen <@ada3.ca.boeing.com:crispen@efftoo.boeing.com>
Subject: Re: Using Global Variables
Date: Mon, 28 Sep 92 07:52:52 CDT	[thread overview]
Message-ID: <9209281252.AA11633@efftoo.boeing.com> (raw)

alvin@eyepoint.com (Alvin Starr) asks:

Me>Which is why I wonder about designs that use common memory "for speed".
Me>Did these designs begin as data-flow-controlled designs, and the
Me>common memory was retrofitted when the speed *actually* was too slow?

AS> Is it possible that you are confusing static variables with variables 
AS> that are keep on a stack or display. 

I was taking as my two alternatives: (a) variables which are declared
in package specs, and (b) parameters which are passed with function
calls.  Obviously, there are more alternatives, but let's use these
for now.

In the latter ("data-flow-controlled") mechanism, there is a requirement
to copy variables onto the stack, call the subprogram, and copy them off
the stack.  In the former, most compilers I know of simply declare the
variable as global, in which case, there's simply a memory fetch or store.

That's the reason that people have said that data-flow-controlled
designs "waste CPU cycles".

In fact, every time I have done a data-flow-controlled design, it
has executed *faster* than the global-data design it replaced.  There
seem to be three reasons for this:

	(a) Data on the stack is generally in cache, while global
	data generally isn't.

	(b) When I go to redevelop the earlier design, I find that
	the programmer (often me) did some dumb things (slow
	algorithms, meaningless variable stores, etc.) that I can
	avoid this time.  I'll restate a point I made earlier: to
	speed up your code, get rid of the dumb things you're doing
	before you get rid of the smart things you're doing.

	(c) Because I'm highly prejudiced toward a data-flow-
	controlled design, I'm highly motivated to make it fast
	to confound my enemies.

And, of course, I get the payoffs of reduced integration time, greater
maintainability, and lack of mysterious glitches for free.
+-------------------------------+--------------------------------------+
| Bob Crispen                   |   The owls are not what they seem    |
| crispen@foxy.boeing.com       +--------------------------------------+
| (205) 461-3296                |Opinions expressed here are mine alone|
+-------------------------------+--------------------------------------+

             reply	other threads:[~1992-09-28 12:52 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-09-28 12:52 crispen [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-09-29 15:05 Using Global Variables Charles H. Sampson
1992-09-28 20:56 crispen
1992-09-28 15:53 Victor Giddings
1992-09-28 14:51 Jeffrey Stewart
1992-09-25 22:58 netcomsv!iscnvx!news
1992-09-25 21:16 Charles H. Sampson
1992-09-25 17:50 Charles H. Sampson
1992-09-25 17:36 Charles H. Sampson
1992-09-25 16:30 David A. Hasan
1992-09-25 14:01 crispen
1992-09-24 20:02 netcomsv!iscnvx!news
1992-09-24 18:10 crispen
1992-09-24  6:51 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!utcsri!geac!torsqnt!uuno
1992-09-24  3:52 Michael Feldman
1992-09-23 21:13 haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!cis.ohio-state.ed
1992-09-23 19:11 Charles H. Sampson
1992-09-23 15:01 crispen
1992-09-23 14:26 munnari.oz.au!ariel!ucsvc.ucs.unimelb.edu.au!phillip.edu.au!x01233
1992-09-23 14:19 crispen
1992-09-23 13:24 wupost!spool.mu.edu!olivea!bu.edu!inmet!inmet!shafer
1992-09-23  2:44 Holmes S. Liao
1992-09-22 20:14 LEE MARDEN
1992-09-22 17:08 dog.ee.lbl.gov!hellgate.utah.edu!cs.utexas.edu!csc.ti.com!tilde.csc.ti.co
1992-09-22 14:54 van-bc!ubc-cs!destroyer!caen!spool.mu.edu!umn.edu!The-Star.honeywell.com!
1992-09-22 12:19 Robert Firth
1992-09-21 21:30 fred j mccall 575-3539
1992-09-21 20:58 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!spool.mu.edu
1992-09-21 20:37 Michael Feldman
1992-09-21 20:36 Michael Feldman
1992-09-21 20:31 Michael Feldman
1992-09-21 19:23 Robert Firth
1992-09-21 18:32 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481
1992-09-21 16:51 Doug Smith
1992-09-21 14:43 haven.umd.edu!darwin.sura.net!spool.mu.edu!umn.edu!The-Star.honeywell.com
1992-09-21 11:49 cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd
1992-09-21  8:10 paul goffin
1992-09-21  4:08 cis.ohio-state.edu!news.sei.cmu.edu!lph
1992-09-19  2:28 Michael Feldman
1992-09-18 23:52 Charles H. Sampson
1992-09-18 22:50 Robert I. Eachus
1992-09-18 13:12 crispen
1992-09-17 18:34 Charles H. Sampson
1992-09-17 14:24 kronos.arc.nasa.gov!iscnvx!news
1992-09-16 17:47 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481
1992-09-16 15:26 Charles H. Sampson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox