comp.lang.ada
 help / color / mirror / Atom feed
From: Dave Sparks <Dave.Sparks@sisyphus.demon.co.uk>
Subject: Re: The great Java showcase (re: 2nd historic mistake)
Date: 1997/09/03
Date: 1997-09-03T00:00:00+00:00	[thread overview]
Message-ID: <N.19970903.ixqx@sisyphus.demon.co.uk> (raw)
In-Reply-To: 1jwoh6bmulc.fsf@nortel.ca


>>>>> "MC" == Mike Charlton <mikechar@nortel.ca> writes:

  MC> Dave Sparks <Dave.Sparks@sisyphus.demon.co.uk> writes:
  >> >>>>> "MC" == Mike Charlton <mikechar@nortel.ca> writes:
  >> 
  MC> ...
  >>
  MC> I have worked with both large C++ projects and large projects using a
  MC> proprietary language with automatic memory management.  Yes, with C++
  MC> we spent a lot of time thinking about memory.  However, using
  MC> automatic memory management, we spent a lot of time thinking about
  MC> performance.  I'd say it's a bit of a toss up.  No one solution will
  MC> work well for every problem.
  >>  Are you saying that when you used C++ you spent so much time on
  >> memory management that you couldn't afford to think about performance?

  MC> I'm not sure if that was meant to be a rhetorical question, but in
  MC> case it wasn't -- the answer is "No".  We just didn't need to spend
  MC> very much time tweaking performance.  My point was that automatic
  MC> garbage collection makes life easier for you.  But it doesn't come
  MC> for free.  You *can* overcome performance difficulties, but I figure
  MC> it takes about as much effort as memory stuff using C++ (IMHO, anyway
  MC> -- YMMV).

The question _was_ rhetorical - the point being that when you have
one _huge_ problem, the other, smaller, problems disappear into
the background and can get forgotten.

We've been using a byte-coded interpreted language with mark-sweep
garbage collection for over ten years, and the GC costs are
typically about 1% of the total.  Individual GCs take less than
0.1 seconds with a 2Mb heap on a SUN SparcStation 5, which is not
a problem in our context.  We used to have performance problems,
but we solved them by re-engineering the application (delivering
the 10::1 improvement we'd had to promise to get the funding).
It's doubtful that this product would have been written in C or
C++, but if it had been I don't think it would ever have met our
current performance expectations.

We also have C and C++ code where memory management is a very
difficult problem, partly because some of the code involved is not
under our control.  This area also needs re-engineering, because
the risk of memory leaks is unacceptably high.  This
re-engineering will not be easy.

Java performance does seem to be poor at the moment, but I expect
it to improve.  Remember that at one time performance was cited as
the reason for routinely using assembly code rather than a
high-level language.  This claim is uncommon today, and I expect
to see a similar change in attitude over the choice of
fully-compiled or compiled-and-interpreted languages.

I do know of one case, from twenty years ago, where two versions
of a COBOL compiler were written simultaneously by two separate
teams.  One version was written in assembly code, while the other
used a purpose-designed compiled-and-interpreted language, which
was developed as part of the project (and never used for any other
purpose).  Each team beleived that its method was the better one,
and was determined to prove it.  When the initial versions of the
copilers were compared, the assembly-code version was faster.  A
month later, the compile-and=interpret team, using the
instrumentation that the interpreter made possible, had improved
their compiler's performance enough to beat the assembly-coded
version (where performance improvements could not be accurately
targeted).

(The requirement was to replace an earlier COBOL compiler badly
written by assembly-code programmers unwillingly using a
high-level fully-compiled language.)

-- 
Dave Sparks, Staffordshire, England




  reply	other threads:[~1997-09-03  0:00 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-08-25  0:00 The great Java showcase (re: 2nd historic mistake) Bertrand Meyer
1997-08-26  0:00 ` BruceMount
     [not found]   ` <5u0nil$atg@mulga.cs.mu.OZ.AU>
1997-08-28  0:00     ` Richard A. O'Keefe
     [not found]       ` <5u3o1n$hu5@mulga.cs.mu.OZ.AU>
1997-08-28  0:00         ` Nick Leaton
1997-09-15  0:00       ` Tim Ottinger
1997-09-16  0:00         ` W. Wesley Groleau x4923
1997-08-28  0:00     ` not
1997-08-28  0:00   ` Brett J. Stonier
     [not found]     ` <JSA.97Aug28182029@alexandria.organon.com>
     [not found]       ` <3406C150.3EE5EE0E@stratasys.com>
1997-08-29  0:00         ` Jon S Anthony
1997-08-29  0:00           ` Jay Martin
1997-08-29  0:00             ` Jon S Anthony
1997-09-02  0:00             ` W. Wesley Groleau x4923
1997-09-15  0:00       ` Tim Ottinger
1997-08-26  0:00 ` Flavius.Vespasianus
     [not found] ` <JSA.97Aug26153546@alexandria.organon.com>
     [not found]   ` <34034658.7DE14518@eiffel.com>
1997-08-27  0:00     ` Jon S Anthony
1997-08-27  0:00 ` James P. White
1997-08-27  0:00   ` Robert Dewar
     [not found]   ` <34047A7D.62319AC4@eiffel.com>
1997-08-27  0:00     ` Bertrand Meyer
1997-08-27  0:00       ` Matthew S. Whiting
1997-08-28  0:00         ` Flavius.Vespasianus
1997-08-28  0:00       ` James P. White
1997-08-28  0:00       ` Mike Coffin
1997-08-29  0:00         ` Robert Dewar
1997-08-30  0:00           ` James P. White
1997-08-31  0:00           ` Jon S Anthony
1997-08-29  0:00       ` Dennis Weldy
1997-09-03  0:00         ` Charles Ditzel
     [not found]   ` <01bcb38a$8ddc1200$1c10d30a@ntwneil>
1997-08-28  0:00     ` Robert Dewar
1997-08-29  0:00       ` Lee Webber
1997-08-28  0:00     ` James P. White
1997-08-28  0:00     ` Robert Dewar
1997-08-28  0:00       ` James P. White
     [not found]         ` <EFnKuI.4rI@ecf.toronto.edu>
1997-08-29  0:00           ` Memory management techniques -- was Re: The great Java showcase Jon S Anthony
1997-08-30  0:00         ` The great Java showcase (re: 2nd historic mistake) Bert Bril
1997-08-31  0:00           ` Jay Martin
1997-08-29  0:00       ` Lee Webber
1997-08-29  0:00       ` Mike Charlton
     [not found]         ` <N.19970829.uput@sisyphus.demon.co.uk>
1997-09-02  0:00           ` Mike Charlton
1997-09-03  0:00             ` Dave Sparks [this message]
     [not found]       ` <EFn8CI.D9p@ecf.toronto.edu>
1997-08-29  0:00         ` Peter Hermann
1997-08-29  0:00         ` Arthur Nelson
1997-08-29  0:00           ` Patrick Doyle
1997-09-01  0:00             ` Robert Dewar
1997-08-29  0:00         ` Laurent Guerby
     [not found]           ` <EFonoz.AFC@ecf.toronto.edu>
1997-08-29  0:00             ` Samuel Mize
1997-08-29  0:00         ` Robert Dewar
1997-08-30  0:00           ` Patrick Doyle
1997-08-31  0:00           ` Jon S Anthony
1997-09-01  0:00             ` Robert Dewar
1997-09-02  0:00               ` Jon S Anthony
1997-09-05  0:00                 ` Robert Dewar
1997-09-06  0:00                   ` Jon S Anthony
     [not found] ` <3402FD4D.C196785B@brightwood.com>
1997-08-27  0:00   ` Patrick Doyle
1997-08-28  0:00   ` Paul Johnson
1997-08-28  0:00     ` Brett J. Stonier
1997-08-28  0:00     ` Robert Dewar
1997-08-29  0:00       ` Paul Johnson
1997-08-28  0:00     ` Jeff Brown
     [not found] <5tvvsj$lh2$1@news2.digex.net>
1997-08-27  0:00 ` Jeff Brown
1997-08-28  0:00   ` Patrick Doyle
1997-08-28  0:00     ` Robert Dewar
1997-08-27  0:00 ` W. Wesley Groleau x4923
1997-08-27  0:00   ` W. Wesley Groleau x4923
1997-08-28  0:00 ` Brett J. Stonier
1997-08-28  0:00   ` Jon S Anthony
1997-08-29  0:00     ` James P. White
1997-08-29  0:00   ` Paul Johnson
1997-08-29  0:00     ` Dennis Weldy
1997-08-29  0:00     ` Brett J. Stonier
     [not found]     ` <5u6ovi$5kb$1@news2.digex.net>
1997-09-01  0:00       ` Paul Johnson
  -- strict thread matches above, loose matches on Subject: below --
1997-08-29  0:00 Ell
1997-08-29  0:00 ` Robert Dewar
1997-08-29  0:00   ` Jay Martin
1997-08-30  0:00   ` Patrick Doyle
1997-08-30  0:00     ` Jay Martin
1997-08-30  0:00   ` Joachim Durchholz
1997-09-01  0:00   ` Paul Johnson
1997-09-01  0:00     ` Robert Dewar
1997-09-02  0:00       ` Martin Tom Brown
1997-09-02  0:00       ` Jeff Kotula
1997-09-02  0:00       ` Matthew S. Whiting
1997-09-03  0:00         ` Robert Munck
1997-09-05  0:00         ` Robert Dewar
1997-09-02  0:00       ` Veli-Pekka Nousiainen
1997-09-08  0:00       ` Richard A. O'Keefe
1997-09-13  0:00         ` Mark S. Hathaway
1997-09-16  0:00           ` Des  Kenny
1997-10-28  0:00           ` John English
1997-09-16  0:00         ` Des  Kenny
1997-09-16  0:00           ` Robert Dewar
1997-09-05  0:00     ` Darren New
1997-09-02  0:00   ` W. Wesley Groleau x4923
1997-09-05  0:00     ` Robert Dewar
1997-09-15  0:00   ` Tim Ottinger
1997-09-16  0:00     ` Robert Dewar
1997-09-16  0:00     ` Joachim Durchholz
1997-09-18  0:00       ` Robert Dewar
1997-08-29  0:00 ` Jon S Anthony
1997-08-29  0:00 ` Brett J. Stonier
1997-08-29  0:00 Ell
1997-08-30  0:00 BruceMount
1997-09-04  0:00 Marin David Condic, 561.796.8997, M/S 731-96
     [not found] <97090916235363@psavax.pwfl.com>
1997-09-11  0:00 ` Robert Dewar
1997-09-15  0:00 Ell
1997-09-16  0:00 ` Tim Ottinger
1997-09-17  0:00 ` Doc
1997-09-17  0:00 Ell
1997-09-17  0:00 Ell
1997-09-16  0:00 ` Mark Wilden
1997-09-17  0:00 ` Joachim Durchholz
1997-09-17  0:00 ` Robert B. Love 
1997-09-17  0:00 Ell
replies disabled

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