Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed4a.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.016 X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'algorithm': 0.04; 'memory.': 0.07; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'subject:skip:f 10': 0.09; 'subject:still': 0.09; 'blocks': 0.16; 'macs': 0.16; 'message-id:@4ax.com': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'screen,': 0.16; 'sat,': 0.16; 'memory': 0.22; 'handles': 0.22; 'url:home': 0.24; 'least': 0.26; 'header:X-Complaints-To:1': 0.27; 'point': 0.28; "d'aprano": 0.31; 'mid': 0.31; 'steven': 0.31; 'run': 0.32; 'guess': 0.33; 'third': 0.33; 'skip:d 20': 0.34; 'could': 0.34; 'something': 0.35; 'but': 0.35; 'charset:us-ascii': 0.36; 'subject:?': 0.36; 'half': 0.37; 'being': 0.38; 'manager': 0.38; 'apple': 0.38; 'handle': 0.38; 'to:addr:python-list': 0.38; 'itself': 0.39; 'structure': 0.39; 'subject:" ': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'space': 0.40; 'around.': 0.60; 'free': 0.61; 'new': 0.61; 'back': 0.62; 'address': 0.63; 'day': 0.76; 'proves': 0.84; 'ram,': 0.84; 'subject:High': 0.84; 'received:108': 0.93 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Dennis Lee Bieber Subject: Re: "High water" Memory fragmentation still a thing? Date: Sat, 04 Oct 2014 16:20:44 -0400 Organization: IISS Elusive Unicorn References: <542f470b$0$13003$c3e8da3$5496439d@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: adsl-108-79-217-184.dsl.klmzmi.sbcglobal.net X-Newsreader: Forte Agent 6.00/32.1186 X-No-Archive: YES X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 23 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1412454045 news.xs4all.nl 2879 [2001:888:2000:d::a6]:58701 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:78706 On Sat, 04 Oct 2014 11:02:02 +1000, Steven D'Aprano declaimed the following: > >Way back in the mid 1980s, Apple Macintoshes used a memory manager which >could move memory around. Given that the Macs of the day had 128K of RAM, >of which something like a third or a half was used for the screen, being >able to move blocks of memory around to avoid fragmentation was critical, >so I guess that proves that it would help at least one thing. > It also relied upon everything being double-dereferenced... Allocating memory did not return the address of the allocated memory, but a handle (pointer) to a structure that itself held the address of the target memory. Handles could not be moved, but the memory compaction algorithm was free to move the allocated memory and update the handle to point to the new location. Of course, this means one better not run out of space in the "handle table" -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/