To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 4955
4954  |  4956
Subject: 
Re: Some comments (long)
Newsgroups: 
lugnet.robotics
Date: 
Sat, 8 May 1999 02:04:49 GMT
Original-From: 
stephen p spackman <stephen@acm.orgAVOIDSPAM>
Viewed: 
1187 times
  
Paul Speed wrote:

        For the record, up until recently I agreed with you.
However, after hearing further discussions I think it is possible.
The biggest hurdle is probably garbage collection since this is what
causes Java's propensity to "gobble" memory.

This is FUD.

What causes Java to gobble memory is more likely (a) the amount of
header overhead it places on objects (more to do with hashing support
than gc, I suspect) and (b), to a lesser extent, the fact that objects
are never "expanded" in place but always pay an additional pointer
overhead.

The space overhead for garbage collection per se is quite small, near
zero if you stop the interpreter during gc and every object has a method
table; even if you do full traversal (obviating all need for type tags
if you are clever) the temp space is proportional only to the square
root of heap size and a couple of marking bits in each pointer (using
technology 25 years out of date; there may be a better bound by now).

But think about it: a garbage collector can release memory *as soon as
is logically possible*. This *must* be no worse than an explicit-release
system. If the gc waits longer, that is a pure - and automatically
managed - time/space tradeoff.

stephen (who still isn't sanguine about RCX Java but hates to see a
language attacked for its *good* features)
--
Did you check the web site first?: http://www.crynwr.com/lego-robotics



Message has 3 Replies:
  Re: Some comments (long)
 
(...) Java is not particularly space efficient (in typical implementations) for several reasons: 1) value stacks are stored as a union of all the types you can store in a variable, so you eat up at least 32 bits (64 on an implementation supporting (...) (25 years ago, 8-May-99, to lugnet.robotics)
  FWD: Re: Some comments (long)
 
(...) In environments which provide general purpose pointer types which can be assigned to addresses of explicitly allocated memory (like C and C++), garbage collection becomes an NP-hard problem. In environments which have no end-user accessible (...) (25 years ago, 8-May-99, to lugnet.robotics.rcx)
  Re: Some comments (long)
 
(...) Hmmm... I guess I have to explain every little word I write so as not to get flamed. People fear Java on a small memory platform because when they run a JVM for any length of time on their Wintel boxes they see it slowly "gobble" more and more (...) (25 years ago, 9-May-99, to lugnet.robotics)

Message is in Reply To:
  Re: Some comments (long)
 
(...) For the record, up until recently I agreed with you. However, after hearing further discussions I think it is possible. The biggest hurdle is probably garbage collection since this is what causes Java's propensity to "gobble" memory. The class (...) (25 years ago, 7-May-99, to lugnet.robotics)

42 Messages in This Thread:













Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR