Re: [Gc] Article about memory fragmentation

Paul Bone <[email protected]> Sun, 9 Oct 2016 14:40:42 +1100
Newsgroups gmane.comp.lang.mercury.devel,gmane.comp.programming.garbage-collection.boehmgc
Message-ID <20161009034042.GA25042@oxygen>
T24gU3VuLCBPY3QgMDksIDIwMTYgYXQgMDg6NTA6NDVBTSArMTMwMCwgQnJ1Y2UgSG91bHQgd3Jv
dGU6Cj4gR29vZCBhcnRpY2xlLCBhcyBmYXIgYXMgaXQgZ29lcywgYnV0IGl0IGp1c3QgLi4gc3Rv
cHMgLi4gYmVmb3JlIHRoZQo+IGludGVyZXN0aW5nIGFuYWx5c2lzLgoKVGhhbmtzLiAgSXQgbWln
aHQgc291bmQgZnVubnkgYnV0IEkgYWdyZWUgd2l0aCB5b3UuICBJIGluaXRpYWxseSBkaWQgdGhl
CmludmVzdGlnYXRpb24gaW4gSnVuZSBhbmQgd2hlbiBJIGZvdW5kIHNvbWUgdGltZSByZWNlbnRs
eSB0byB3cml0ZSBpdCB1cCBJCmZvdW5kIEkgY291bGRuJ3QgcmVwcm9kdWNlIHRoZSBzaXR1YXRp
b24uICBUaGUgYXJ0aWNsZSB3YXMgd3JpdHRlbiB3aXRoIHRoZQpkYXRhIHRoYXQgSSBoYWQgY29s
bGVjdGVkIGluIEp1bmUuCgpJZiBJIHdhcyB0byBjb250aW51ZSwgYW5kIEkgdGhpbmsgSSBtaWdo
dCwgSSB3b3VsZCBwcm9maWxlIHRoZSBzYW1lIHByb2dyYW0KYW5kIHNob3cgaG93IHRoZSBtZW1v
cnkgZm9yIGVhY2ggb2JqZWN0IHNpemUgY2hhbmdlcyBvdmVyIHRpbWUsIGFzIEkgYWdyZWUKd2l0
aCB5b3UsIGl0J3MgdmVyeSBsaWtlbHkgdGhhdCB3ZSBkbyB1c2UgbW9zdCBvZiB0aGUgMzIgYnl0
ZSBibG9ja3MsIHRoZW4KZnJlZSB0aGVtLgoKPiAKPiBCdHcgInVuY29ycmVjdGFibGUiIHNob3Vs
ZCBiZSAidW5jb2xsZWN0YWJsZSIuCj4gCj4gQWxtb3N0IGFsbCB0aG9zZSBibG9jayBzaXplcyBo
YXZlIGV4Y2VsbGVudCB1dGlsaXphdGlvbiByYXRpb3MuIEEgbW92aW5nCj4gY29sbGVjdG9yIGNv
dWxkIHNjYXJjZWx5IGRvIGJldHRlciEKClllYWgsIHRoaXMgaXMgd2h5IEkgYWRkZWQgYSBub3Rl
IGFib3V0IGEgc2VtaS1zcGFjZSBjb3B5aW5nIGNvbGxlY3Rvciwgc2luY2UKaXQgd291bGQgYmUg
d29yc2UgaW4gdGVybXMgb2YgdXRpbGlzYXRpb24uICBJdCB3b3VsZCBiZSBiZXR0ZXIgZm9yIGxv
Y2FsaXR5Cmhvd2V2ZXIuICBJJ20gbm90IHN1cmUgaG93IHdlbGwgYSBtYXJrLWNvbXBhY3Qgb3IK
bWFyay1zd2VlcC1hbmQtc29tZXRpbWVzLWNvbXBhY3QgY29sbGVjdG9yIHdvdWxkIGdvLiAgSSdt
IGF3YXJlIHRoYXQgdGhlcmUKd2lsbCBhbHdheXMgYmUgbGVzcyB0aGFuIHBlcmZlY3QgdXRpbGl6
YXRpb24sIHRvIGdpdmUgdGhlIGhlYXAgc3BhY2UgdG8gZ3JvdwppbnRvLgoKPiBCdXQgdGhlcmUn
cyBkZWZpbml0ZWx5IHJvb20gZm9yIGltcHJvdmVtZW50IHdpdGggdGhlIDMyIGJ5dGUgc2l6ZS4K
PiAKPiBJJ20gdmVyeSBjdXJpb3VzIHdoYXQgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIHBhdHRlcm4g
aW4gdGhhdCBtYWtlcyB5b3UgZW5kCj4gdXAgd2l0aCBzbyBtYW55IGJsb2NrcyB3aXRoIHNvIGZl
dyBsaXZlIG9iamVjdHMuCj4gCj4gTXkgYmVzdCBndWVzcyBpcyB0aGF0IGF0IHNvbWUgcG9pbnQg
eW91IGFjdHVhbGx5IGRpZCBoYXZlIDYwIE1CIG9mIDMyIGJ5dGUKPiBvYmplY3RzLCBidXQgdGhl
biBtb3N0IG9mIHRoZW0gYmVjYW1lIHVucmVhY2hhYmxlLiBCdXQgeW91J3JlIHRoZSBvbmUgd2hv
Cj4gY2FuIGdhdGhlciB0aGUgb2JqZWN0IGxpZmV0aW1lIGRhdGEuCj4KPiBJbiBhIGxvbmctcnVu
bmluZyBwcm9ncmFtLCB5b3UnZCBleHBlY3QgdGhhdCBzcGFjZSB0byBnZXQgdXNlZCBhZ2FpbiwK
PiBtdWx0aXBsZSB0aW1lcywgc28gaXQncyBub3QgcmVhbGx5IGEgcHJvYmxlbS4KCkknbGwgdHJ5
IHRvIGRvIHRoYXQuICBXZSBrbm93IHRoYXQgdGhlcmUgYXJlIHNldmVyYWwgc3RhZ2VzIHdoaWxl
IHByb2Nlc3NpbmcKYSBkb2N1bWVudCB3aGVyZSB3ZSB0aHJvdyBhd2F5IGxhcmdlIHN0cnVjdHVy
ZXMgdGhhdCBhcmUgbm8tbG9uZ2VyIG5lZWRlZC4KRWcgYWZ0ZXIgc3R5bGVzIGhhdmUgYmVlbiBj
b21wdXRlZCBidXQgYmVmb3JlIHBhZ2luYXRpb24uICBQcmluY2Ugd2lsbApwcm9jZXNzIGEgZG9j
dW1lbnQsIHRoZW4gdGVybWluYXRlIGFuZCBhIG5ldyBwcm9jZXNzIGlzIHN0YXJ0ZWQgZm9yIGEg
bmV3CmRvY3VtZW50LiAgSXQncyBub3QgYSBsb25nIHJ1bm5pbmcgcHJvY2VzcywgYW5kIHRoZXJl
Zm9yZSBtZW1vcnkgdXNhZ2UgaXNuJ3QKc3VwZXItaW1wb3J0YW50LCBidXQgb2YgYSBjbGllbnQg
dXNlcyBQcmluY2UgdmVyeSBmcmVxdWVudGx5LCBpdCBjYW4gYmUKaW1wb3J0YW50LgoKPiBCdXQg
aXQgY2FuIGFsc28gYmUgdGhhdCB0aGVyZSBpcyBhIHVzYWdlIHBlYWsgZm9yIHNvbWUgb2JqZWN0
IHNpemUgZHVyaW5nCj4gcHJvZ3JhbSBzdGFydHVwLCBhbmQgdGhlbiB0aGV5IGFyZSBub3QgbmVl
ZGVkIGFnYWluLiBVbmZvcnR1bmF0ZWx5LCB0aGVyZSdzCj4gdmVyeSBsaXR0bGUgdGhhdCBhIG5v
bi1tb3ZpbmcgR0MgY2FuIGRvIGFib3V0IHRoYXQuCgpXZSB3aWxsIGFsc28gYmUgYWJsZSB0byBj
b2xsZWN0IGRhdGEgYWJvdXQgd2hpY2ggY29uc3RydWN0b3JzIG9mIHdoaWNoIHR5cGVzCmFjY291
bnQgZm9yIHRoaXMgYWxsb2NhdGlvbiBzaXplLgoKPiBJdCBtaWdodCBiZSBwb3NzaWJsZSB0byBk
byBzb21ldGhpbmcgYWJvdXQgdGhhdCBhdCBhIHVzZXIgbGV2ZWwgdGhvdWdoOiBpZgo+IHRoZXJl
IGFyZSBpbnRlcnNwZXJzZWQgYWxsb2NhdGlvbnMgb2Ygc2hvcnQgbGl2ZWQgYW5kIGxvbmcgbGl2
ZWQgKG9yCj4gcGVtYW5lbnQpIG9iamVjdHMgb2YgdGhlIHNhbWUgc2l6ZSwgdGhlbiB5b3UgY291
bGQgcHJlLWFsbG9jYXRlIGEgbnVtYmVyIG9mCj4gb2JqZWN0cyAoNCBLQiB3b3J0aCBvciBzb21l
IG11bHRpcGxlKSBhbmQgcHV0IHRoZW0gaW4geW91ciBvd24gZnJlZWxpc3Qgb3IKPiBzb21lIG90
aGVyIGNvbGxlY3Rpb24sIGFuZCB0aGVuIHJlcGxhY2UgdGhlIGN1cnJlbnQgR0NfbWFsbG9jIG9m
IHRoZW0gd2l0aAo+IHRha2luZyBvbmUgZnJvbSB0aGUgcHJlLWFsbG9jYXRlZCBsaXN0LiBZb3Ug
Y291bGQgZG8gdGhpcyBmb3IgZWl0aGVyIHRoZQo+IHNob3J0LWxpdmVkIG9yIHRoZSBsb25nLWxp
dmVkIG9iamVjdHMsIGJ1dCBJIHN1c3BlY3QgdGhhdCB0aGUgbG9uZy1saXZlZAo+IG9uZXMgbWln
aHQgZ2l2ZSB0aGUgZWFzaWVzdCBiZW5lZml0LiBHZXQgdGhlbSBhbGwgb250byB0aGUgc2FtZSBt
ZW1vcnkKPiBwYWdlcywgdGhhdCB3aWxsIHN0YXkgcmVhc29uYWJseSBmdWxsLCBhbmQgbGV0IGVu
dGlyZSBwYWdlcyBvZiBzaG9ydC1saXZlZAo+IG9iamVjdHMgZ2V0IEdDJ2QgYW5kIHRob3NlIHBh
Z2VzIHJldXNlZCBmb3Igb2JqZWN0cyBvZiBvdGhlciBzaXplcy4KPiAKPiBUaGUgR0MgY2FuJ3Qg
YmUgc29tZSBraW5kIG9mIG9yYWNsZSBhbmQgcHJlZGljdCB0aGVzZSB1c2FnZSBwYXR0ZXJucywg
YnV0Cj4geW91IG1pZ2h0IGJlIGFibGUgdG8uCgpJJ2QgbGlrZSB0byBjaGVjayB0aGF0IEkgdW5k
ZXJzdGFuZC4gIEJ5IHByZS1hbGxvY2F0aW5nIGxvbmcgbGl2ZWQgaXRlbXMsCmJ1dCBub3Qgc2hv
cnQgbGl2ZWQgaXRlbXMsIHdlJ3JlIG1vcmUgbGlrZWx5IHRvIGd1YXJhbnRlZXMgdGhhdCB0aG9z
ZSBvYmplY3RzCmFyZSBhbGxvY2F0ZWQgb24gdGhlIHNhbWUgYmxvY2tzLCBhbmQgbm90IGludGVy
c3BlcnNlZCBvbiBvdGhlciBibG9ja3MKcHJldmVudGluZyB0aG9zZSBibG9ja3MgZnJvbSBiZWlu
ZyBmcmVlZCB3aGVuIHRoZSBzaG9ydC1saXZlZCBvYmplY3RzIGFyZQpjb2xsZWN0ZWQ/CgpJIGNh
biBzZWUgdGhlIHBvdGVudGlhbCwgYnV0IEknZCB3YW50IHRvIGNvbGxlY3QgbW9yZSBpbmZvcm1h
dGlvbiBhbmQKdW5kZXJzdGFuZCB3aGljaCBvYmplY3RzLCBvZiB0aGVzZSBzaXplcywgYXJlIGxv
bmcgb3Igc2hvcnQgbGl2ZWQuICBXZSBjb3VsZAptb2RpZnkgdGhlIHByb2ZpbGVyIGJ5IGFkZGlu
ZyBhIHdvcmQgdG8gZWFjaCBvYmplY3QgdGhhdCBwb2ludHMgYmFjayB0aGUKY2FsbCBzaXRlIGlu
Zm9ybWF0aW9uIChhdmFpbGFibGUgd2hlbiBwcm9maWxpbmcgaXMgZW5hYmxlZCkgYW5kIGluY3Jl
bWVudHMgYQpjb3VudGVyIHRoZXJlIGVhY2ggdGltZSB0aGF0IG9iamVjdCBzdXJ2aXZlcyBhIGNv
bGxlY3Rpb24uICBUaGVuIHdlIGNvdWxkCmtub3cgZm9yIGVhY2ggYWxsb2NhdGlvbiBzaXRlLCB3
aGV0aGVyIGl0IGNyZWF0ZXMgbG9uZyBvciBzaG9ydCBsaXZlZApvYmplY3RzLgoKQ2FuIHlvdSBv
ciBzb21lb25lIGVsc2Ugb24gdGhlIEJEV0dDIHRlbGwgbWUgaW4gd2hhdCBvcmRlciBibG9ja3Mg
YXJlIHB1dCBvbgp0aGUgZnJlZSBsaXN0cy4gIERvIHRoZSBmcmVlIHNwb3RzIGluIG1vc3RseS1m
dWxsIGJsb2NrcyBhcHBlYXIgZWFybGllciBvbgp0aGUgZnJlZSBsaXN0cz8gIElmIHRoaW5ncyBh
cmUgcGxhY2VkIG9uIHRoZSBmcmVlIGxpc3QgaW4gdGhlIG9yZGVyIHRoZXkgYXJlCnN3ZXB0IHdo
aWNoIGJsb2NrcyBhcmUgc3dlcHQgc29vbmVyPwoKQ2hlZXJzLgoKLS0gClBhdWwgQm9uZQpodHRw
Oi8vcGF1bC5ib25lLmlkLmF1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCmRldmVsb3BlcnMgbWFpbGluZyBsaXN0CmRldmVsb3BlcnNAbGlzdHMubWVyY3Vy
eWxhbmcub3JnCmh0dHBzOi8vbGlzdHMubWVyY3VyeWxhbmcub3JnL2xpc3RpbmZvL2RldmVsb3Bl
cnMK