comp.lang.ada
 help / color / mirror / Atom feed
From: sampson@cod.nosc.mil  (Charles H. Sampson)
Subject: Re: Using Global Variables
Date: 18 Sep 92 23:52:38 GMT	[thread overview]
Message-ID: <1992Sep18.235238.25207@nosc.mil> (raw)

In article <16864C1E7.M19481@mwvm.mitre.org> M19481@mwvm.mitre.org writes (in
response to a question I posed about why anyone needs to use global variables):
 
>The main reason I've heard used to justify the use of global variables is
>performance of a real-time system.  The argument goes that the overhead of
>parameter passing is just too high to meet the performance requirements on
>the target machine (which cannot be changed), hence global variables.  Now
>you may argue that the target machine should have been chosen more wisely,
>or the choice delayed until after the software was totally developed so as
>to be able to pick the right size machine -- but I imagine that that's what
>Mr. Goffin had in mind when he used the term "real world."
> 
>David - dhite@mitre.org

     On a lot of target architectures the major part of subprogram overhead
in a recursive, stack-oriented language, like Ada, is in setting up the
stack frame, which is often done by a call to a utility routine if the
architecture is hostile enough.  This overhead is paid on any call, even
for parameterless subprograms, in order to allocate space on the stack for
local data.  On the other hand, parameter passage is usually pretty cheap,
depending on the architecture and the cleverness of the compiler writers. 
So, my question now is: For those real-time systems for which global vari-
ables are used instead of expensive parameter passage, was that decision
based on inherent limitations of the hardware, lack of cleverness by the
compiler writers, or poor analysis of the actual costs of parameter pas-
sage?

                              Charlie

             reply	other threads:[~1992-09-18 23:52 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-09-18 23:52 Charles H. Sampson [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-28 12:52 crispen
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 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