Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #17430

Re: Windows8

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Re: Windows8
Date 2012-11-20 10:48 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2012Nov20.114831@mips.complang.tuwien.ac.at> (permalink)
References (6 earlier) <50aaa2e4$0$293$14726298@news.sunsite.dk> <7xy5hx466p.fsf@ruckus.brouhaha.com> <50aaad2a$0$289$14726298@news.sunsite.dk> <7xfw45use4.fsf@ruckus.brouhaha.com> <1706892.AHFubqArz1@sunwukong.fritz.box>

Show all headers | View raw


Bernd Paysan <bernd.paysan@gmx.de> writes:
>Objective-C (as used in iOS) is probably the most 
>widely known example of automatic reference counting, the advantage is 
>that all memory allocation and freeing is synchronous with the program, 
>and thus predictable.  A GC run is not predictable, and one reason why 
>Android is perceived as "lagging" are the GC runs.

Overwriting a reference can cause an arbitrarily long lag (consider
freeing the last reference to a large interlinked data structure,
e.g. a large tree).  Yes, one could use techniques like those used by
real-time GC to distribute that lag.

>A GC run is also polluting the cache, as it looks through a significant 
>portion of the memory of an application.  You don't want that on a 
>modern CPU, you want spacial and temporal locality.

GC is pretty good on spatial locality, especially copying GC.
Reference counting is not so good on spatial locality, but may be good
on temporal locality; and for cache pollution it's much worse: it
dirties (writes to) the referenced cache line every time a reference
is copied or overwritten, which means that lots of cache lines become
dirty and have to be written back to main memory later.

>I'm for automatic memory deallocation, as it reduces the burden of the 
>programmer, but IMHO, reference counting is the more Forthy way.

I don't see that at all.  A DUP of an address will increase the
reference count and thus become an expensive operation.  Also, given
the lack of type checking in Forth, how do you know that the DUP
duplicates an address and not just something that looks like one?

Conservative garbage collection fits ok into Forth.  If you want it
more Forthy, I think the way to go is to be less automatic.  You still
want to avoid the problems of ALLOCATE and FREE, though.  One
promising approach is region-based allocation, but I have yet to see
that promise turned into a useful region allocation library for Forth.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2012: http://www.euroforth.org/ef12/

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Windows8 visualforth@rocketmail.com - 2012-11-02 08:41 -0700
  Re: Windows8 Brad Eckert <hwfwguy@gmail.com> - 2012-11-02 11:12 -0700
  Re: Windows8 visualforth@rocketmail.com - 2012-11-06 09:05 -0800
    Re: Windows8 Jason Damisch <jasondamisch@yahoo.com> - 2012-11-12 07:10 -0800
      Re: Windows8 stephenXXX@mpeforth.com (Stephen Pelc) - 2012-11-12 17:27 +0000
    Re: Windows8 visualforth@rocketmail.com - 2012-11-21 17:48 -0800
  Re: Windows8 visualforth@rocketmail.com - 2012-11-07 20:44 -0800
  Re: Windows8 Jason Damisch <jasondamisch@yahoo.com> - 2012-11-12 07:15 -0800
    Re: Windows8 Brad Eckert <hwfwguy@gmail.com> - 2012-11-12 07:59 -0800
    Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-12 07:55 -1000
      Re: Windows8 "Ed" <invalid@nospam.com> - 2012-11-14 20:04 +1100
        Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-14 17:01 +0000
          Re: Windows8 "Ed" <invalid@nospam.com> - 2012-11-18 11:14 +1100
            Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-19 14:25 +0000
              Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 08:09 -1000
                Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-20 09:55 +0000
                Re: Windows8 mhx@iae.nl (Marcel Hendrix) - 2012-11-25 10:56 +0200
                Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-25 16:46 +0100
            Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 16:21 -0500
              Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 13:46 -0800
                Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 17:05 -0500
                Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 12:14 -1000
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 14:30 -0800
                Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 12:53 -1000
                Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 17:44 -0500
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 14:52 -0800
                GC (was Re: Windows8) Doug Hoffman <glidedog@gmail.com> - 2012-11-26 11:44 -0500
                Re: GC Paul Rubin <no.email@nospam.invalid> - 2012-11-26 11:44 -0800
                Re: GC Doug Hoffman <glidedog@gmail.com> - 2012-11-28 06:35 -0500
                Re: GC Paul Rubin <no.email@nospam.invalid> - 2012-11-29 11:58 -0800
                Re: GC albert@spenarnc.xs4all.nl (Albert van der Horst) - 2012-11-30 01:46 +0000
                Re: GC Paul Rubin <no.email@nospam.invalid> - 2012-11-29 21:14 -0800
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 14:42 -0800
                Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 17:56 -0500
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 15:14 -0800
                Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 18:45 -0500
                Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 14:18 -1000
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 16:18 -0800
                Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 19:01 -0500
                Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 12:58 -1000
                Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-20 02:23 +0100
                Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-20 10:48 +0000
                Re: Windows8 Alex McDonald <blog@rivadpm.com> - 2012-11-20 07:56 -0800
                Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-21 15:03 +0000
                Re: Windows8 Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-11-23 05:58 -0800
                Re: Windows8 Mark Wills <forthfreak@gmail.com> - 2012-11-20 02:13 -0800
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-20 08:57 -0800
                Re: Windows8 "David N. Williams" <williams@umich.edu> - 2012-11-20 16:56 -0500
                Re: Windows8 mhx@iae.nl (Marcel Hendrix) - 2012-11-25 11:20 +0200
    Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-14 16:36 -0500
      Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-14 12:12 -1000
        Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-14 17:46 -0500
          Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-14 13:12 -1000
            Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-14 18:12 -0800
            Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-15 13:55 -0500
              Re: Windows8 RR <freedomspyder@gmail.com> - 2012-11-15 16:03 -0800
                Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-15 21:54 -0500
                Re: Windows8 RR <freedomspyder@gmail.com> - 2012-11-15 19:26 -0800
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-15 19:27 -0800
                Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-16 17:45 +0100
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-16 09:10 -0800
                Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-16 22:34 +0100
                Re: Windows8 Andy Valencia <vandys@vsta.org> - 2012-11-16 18:06 +0000
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-16 11:09 -0800
                Re: Windows8 Spam@ControlQ.com - 2012-11-16 15:18 -0500
        Re: Windows8 visualforth@rocketmail.com - 2012-11-15 00:19 -0800
          Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-14 22:55 -1000
          Re: Windows8 albert@spenarnc.xs4all.nl (Albert van der Horst) - 2012-11-15 12:20 +0000
            Re: Windows8 visualforth@rocketmail.com - 2012-11-15 08:32 -0800
            Re: Windows8 kenney@cix.compulink.co.uk - 2012-11-16 04:51 -0600
              Re: Windows8 stephenXXX@mpeforth.com (Stephen Pelc) - 2012-11-16 13:46 +0000
              Re: Windows8 visualforth@rocketmail.com - 2012-11-16 08:12 -0800
  Re: Windows8 the_gavino_himself <visphatesjava@gmail.com> - 2012-11-29 00:16 -0800

csiph-web