Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!gem.mps.ohio-state.edu!apple!sun-barr!rutgers!cmcl2!lanl!jlg From: jlg@lanl.gov (Jim Giles) Newsgroups: comp.lang.c Subject: Re: The final word on GOTO (Don't I wis Message-ID: <14086@lanl.gov> Date: 12 Oct 89 22:13:22 GMT References: <566@sunquest.UUCP> Distribution: na Organization: Los Alamos National Laboratory Lines: 19 From article <566@sunquest.UUCP>, by ggg@sunquest.UUCP (Guy Greenwald): > /* Really: */ > case whatever: > special-code...; > goto common; > /* Is no clearer than: */ /* But it IS _MUCH_ more efficient than: */ > case whatever: > special-code...; > common(); > break; Also, which one is clearer depends on the context. I've seen a lot of code in which the GOTO version is much clearer because it doesn't separate the common code from the rest by a factor of several pages. In any event, the GOTO may be imperative for the efficiency alone. And you can't necessarily do better than the GOTO - even if you have inline procedures. Part of your efficiency requirement may be to minimize the size of the code.