Re: [Gc] Article about memory fragmentation

Paul Bone <[email protected]> Mon, 10 Oct 2016 08:57:18 +1100
Newsgroups gmane.comp.lang.mercury.devel,gmane.comp.programming.garbage-collection.boehmgc
Message-ID <20161009215718.GA15785@oxygen>
T24gTW9uLCBPY3QgMTAsIDIwMTYgYXQgMDk6MTM6NDZBTSArMTMwMCwgQnJ1Y2UgSG91bHQgd3Jv
dGU6Cj4gT24gU3VuLCBPY3QgOSwgMjAxNiBhdCA0OjQwIFBNLCBQYXVsIEJvbmUgPHBhdWxAYm9u
ZS5pZC5hdT4gd3JvdGU6Cj4gCj4gPiBJJ2QgbGlrZSB0byBjaGVjayB0aGF0IEkgdW5kZXJzdGFu
ZC4gIEJ5IHByZS1hbGxvY2F0aW5nIGxvbmcgbGl2ZWQgaXRlbXMsCj4gPiBidXQgbm90IHNob3J0
IGxpdmVkIGl0ZW1zLCB3ZSdyZSBtb3JlIGxpa2VseSB0byBndWFyYW50ZWVzIHRoYXQgdGhvc2UK
PiA+IG9iamVjdHMKPiA+IGFyZSBhbGxvY2F0ZWQgb24gdGhlIHNhbWUgYmxvY2tzLCBhbmQgbm90
IGludGVyc3BlcnNlZCBvbiBvdGhlciBibG9ja3MKPiA+IHByZXZlbnRpbmcgdGhvc2UgYmxvY2tz
IGZyb20gYmVpbmcgZnJlZWQgd2hlbiB0aGUgc2hvcnQtbGl2ZWQgb2JqZWN0cyBhcmUKPiA+IGNv
bGxlY3RlZD8KPiAKPiAKPiBSaWdodC4KPiAKPiBJbiBmYWN0IHRoZXJlIGlzIGFuIGV4aXN0aW5n
IEFQSSB3aGljaCB3b3VsZCBiZSB1c2VmdWwgZm9yIHRoaXM6Cj4gCj4gdm9pZCogR0NfbWFsbG9j
X21hbnkoc2l6ZV90IG9ialN6KQo+IAo+IC4uLiB3aGljaCBpcyBpbXBsZW1lbnRlZCBieSAuLi4K
PiAKPiB2b2lkIEdDX2dlbmVyaWNfbWFsbG9jX21hbnkoc2l6ZV90IG9ialN6LCBpbnQgb2JqS2lu
ZCwgdm9pZCAqKnJlc3VsdCkKPiAKPiBJdCBtaWdodCBtYWtlIHNlbnNlIHRvIGhhdmUgR0NfbWFs
bG9jX21hbnlfYXRvbWljKCkgb3IgdGhlIHVuY29sbGVjdGFibGUKPiB2YXJpYW50cywgYnV0IHRo
ZXkgZGluJ3QgZXhpc3QgYXQgdGhlIG1vbWVudCBhbmQgeW91IGNhbiBnZXQgdGhlIGVmZmVjdCBu
b3cKPiBieSBhIGRpcmVjdCBjYWxsIHRvIEdDX2dlbmVyaWNfbWFsbG9jX21hbnkuCj4gCj4gVGhp
cyBjYWxsIHJldHVybnMgc29tZSBudW1iZXIgb2Ygb2JqZWN0cyBvZiB0aGUgc2FtZSBzaXplIChy
b3VuZGVkIHVwCj4gbWluaW1hbGx5IC0tIGp1c3QgdG8gdGhlIG5leHQgbXVsdGlwbGUgb2YgMTYg
Ynl0ZXMpLCBhbGwgb2Ygd2hpY2ggYXJlCj4gbG9jYXRlZCBpbiB0aGUgc2FtZSBnYy9WTSBwYWdl
LiBUaGUgZmlyc3QgYnl0ZXMgb2YgZWFjaCBvYmplY3QgcG9pbnQgdG8gdGhlCj4gbmV4dCBvYmpl
Y3QsIGFuZCB0aGUgcmV0dXJuIHZhbHVlIGlzIGEgcG9pbnRlciB0byB0aGUgZmlyc3Qgb2JqZWN0
Lgo+IAo+IFRoZSBmdW5jdGlvbiB0cmllcyB0byBmaW5kIGFuIGV4aXN0aW5nIGJsb2NrIG9mIG9i
amVjdHMgb2YgdGhhdCBzaXplLAo+IGFsbG9jYXRpbmcgYW4gZW50aXJlIG5ldyBibG9jayBvbmx5
IGlmIG9uZSBjYW4ndCBiZSBmb3VuZC4gSXQgbWlnaHQgbWFrZQo+IHNlbnNlIHRvIGFkZCBhIHBh
cmFtZXRlciAob3IgYW5vdGhlciBmdW5jdGlvbikgdG8gZm9yY2UgYWx3YXlzIHVzaW5nIGFuCj4g
ZW50aXJlIChuZXcgb3IgcmVjbGFpbWVkKSBWTSBwYWdlIGZvciB0aGUgcmV0dXJuZWQgbGlzdC4K
CkNoZWVycy4KCj4gIENhbiB5b3Ugb3Igc29tZW9uZSBlbHNlIG9uIHRoZSBCRFdHQyB0ZWxsIG1l
IGluIHdoYXQgb3JkZXIgYmxvY2tzIGFyZSBwdXQKPiA+IG9uCj4gCj4gdGhlIGZyZWUgbGlzdHMu
ICBEbyB0aGUgZnJlZSBzcG90cyBpbiBtb3N0bHktZnVsbCBibG9ja3MgYXBwZWFyIGVhcmxpZXIg
b24KPiA+IHRoZSBmcmVlIGxpc3RzPyAgSWYgdGhpbmdzIGFyZSBwbGFjZWQgb24gdGhlIGZyZWUg
bGlzdCBpbiB0aGUgb3JkZXIgdGhleQo+ID4gYXJlCj4gPiBzd2VwdCB3aGljaCBibG9ja3MgYXJl
IHN3ZXB0IHNvb25lcj8KPiA+Cj4gCj4gRmlyc3QsIHRoZSBmcmVlIGxpc3QgZm9yIG9iamVjdHMg
b2YgYSBwYXJ0aWN1bGFyIHNpemUgKGFuZCBraW5kKSBhbHdheXNbMV0KPiBjb250YWluIG9ubHkg
b2JqZWN0cyBmcm9tIGEgc2luZ2xlIGdjL1ZNIHBhZ2UuIFRoZSBvYmplY3RzIGFyZSBvcmRlcmVk
IGJ5Cj4gbWVtb3J5IGFkZHJlc3Mgd2l0aGluIHRoZSBnYyBwYWdlLgo+IAo+IFdoZW4gdGhlIGZy
ZWUgbGlzdCBmb3Igb2JqZWN0cyBvZiBhIHBhcnRpY3VsYXIgc2l6ZSBpcyBlbXB0eSwgYSBzaW5n
bGUgcGFnZQo+IG9mIG9iamVjdHMgb2YgdGhlIHNhbWUgc2l6ZSBpcyBzd2VwdCBhbmQgYW55IG9i
amVjdHMgdGhhdCB3ZXJlIG5vdCBtYXJrZWQKPiAocmVhY2hhYmxlKSBhdCB0aGUgcHJldmlvdXMg
R0MgYXJlIGFkZGVkIHRvIHRoZSBmcmVlIGxpc3QuIFNvbWUgb2JqZWN0cyBpbgo+IHRoZSBwYWdl
IG1heSBoYXZlIHNpbmNlIGJlY29tZSB1bnJlYWNoYWJsZSBhbmQgdGhpcyBpcyBub3QgZGV0ZWN0
ZWQsIGJ1dAo+IGl0J3MgaW1wb3NzaWJsZSBmb3IgYSBwcmV2aW91c2x5IHVucmVhY2hhYmxlIG9i
amVjdCB0byBiZWNvbWUgcmVmZXJlbmNlZCAtLQo+IHNpbmNlIGl0IHdhcyB1bnJlYWNoYWJsZSBi
eSB0aGUgYXBwIDotKQoKSSBoYXZlIG5vIHByb2JsZW1zIHVuZGVyc3RhbmRpbmcgdGhhdCBsYXN0
IHBvaW50IDstKSAgSWYgSSBkb3VidGVkIGl0IEkKd29uZGVyIGhvdyBJIGNvdWxkIGNvcGUgd2l0
aCBtZW1vcnkgbWFuYWdlbWVudCBhdCBhbGwhICBBY3R1YWxseSwgc2luY2UKQm9laG1HQyBpcyBj
b25zZXJ2YXRpdmUgbWF5YmUgeW91J3JlIGFzc2VydGluZyBhbiBleHRyYSBhc3N1cmFuY2UsIHRo
YXQgaW4KdGhpcyBzaXR1YXRpb24gQm9laG1CQyB3b24ndCBtaXN1bmRlcnN0YW5kIGEgdmFsdWUg
dGhhdCBsb29rcyBsaWtlIGEgcG9pbnRlcgp0byBwcmV2aW91c2x5IHVzZWQgYnV0IG5vdCB5ZXQg
c3dlcHQgbWVtb3J5IGFzIGEgcG9pbnRlci4gIFRoaXMgaXMgYW4gZWRnZQpjYXNlIHRoYXQgSSBo
YWRuJ3QgdGhvdWdodCBvZiBiZWZvcmUgYnV0IG5vdyBzZWVtcyBwcmV0dHkgb2J2aW91cy4KCj4g
SWYgYSBwYWdlIGlzICJuZWFybHkgZnVsbCIgdGhlbiBpdCBpcyBza2lwcGVkLCBvbiB0aGUgYXNz
dW1wdGlvbiB0aGF0IGl0Cj4gdGFrZXMgYSBsb3Qgb2YgdGltZSBmb3IgbGl0dGxlIGJlbmVmaXQg
KHNwZWVkL3NwYWNlIHRyYWRlb2ZmKS4KClRoYXQncyBhIHJlYXNvbmFibGUgYXNzdW1wdGlvbi4g
IEhhcyBhbnlvbmUgdGVzdGVkIGRpZmZlcmVudCBwb2xpY2llcyBoZXJlPwpBcyBJIHVuZGVyc3Rh
bmQgaXQsIHN3ZWVwaW5nIHNob3VsZCBiZSByZWxhdGl2ZWx5IGZhc3QsIGVzcGVjaWFsbHkgZm9y
IG1vc3RseQpmdWxsIHBhZ2VzLiAgSXQgc3RhcnRzIGJ5IGNoZWNraW5nIHRoZSBtYXJrIGJpdHMg
KGEgbWVkaXVtLXNpemVkIGJ1dApzZXF1ZW50aWFsIG1lbW9yeSByZWFkKSBhbmQgZmluZGluZyBh
bnkgdW5tYXJrZWQgb2JqZWN0cyBpdCB0aHJlYWRzIHRoZW0KdG9nZXRoZXIgaW4gYSBsaW5rZWQg
bGlzdCAod3JpdGVzIHRvIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBjYWNoZSBsaW5lcykuCgogICAg
U3dlZXBDb3N0ICAgID0gUmVhZE1hcmtCaXRzICsgTipXcml0ZUxpbmtzCiAgICBTd2VlcEJlbmlm
aXQgPSBOCgpTd2VlcGluZyBhIG1vc3RseSBmdWxsIHBhZ2UgaXMgdGhlIGNoZWFwZXN0IHN3ZWVw
LCBidXQgaGFzIGxpdHRsZSBiZW5pZml0LgpTd2VlcGluZyBhIG1vc3RseSBlbXB0eSBwYWdlIGhh
cyBhIGhpZ2hlciBjb3N0IChidXQgd3JpdGVzIGFyZSBhbW9ydGl6ZWQgaWYKdGhlcmUgaXMgbW9y
ZSB0aGFuIG9uZSBwZXIgY2FjaGUgbGluZSkgYW5kIGEgZ3JlYXQgYmVuaWZpdC4gIEl0IHNlZW1z
IHRoYXQKc2tpcHBpbmcgbW9zdGx5IGZ1bGwgb2JqZWN0cyBtb3N0bHkgcmVkdWNlcyBob3cgZnJl
cXVlbnRseSBzd2VlcGluZyBpcwpyZXF1aXJlZCwgYW5kIG9ubHkgYWZmZWN0cyB0aGUgY29zdC9i
ZW5pZml0IG9mIHN3ZWVwaW5nIHNsaWdodGx5LiAgUGxlYXNlCnRlbGwgbWUgaWYgeW91IGRpc2Fn
cmVlLCB0aGlzIGlzIHRoZSBtb3N0IEkndmUgYWN0dWFsbHkgd29ya2VkIHdpdGggbWVtb3J5Cm1h
bmFnZW1lbnQuCgo+IFRoZSBvcmRlciBpbiB3aGljaCBwYWdlcyBhcmUgc3dlcHQgaXMgZGV0ZXJt
aW5lZCBieSB0aGUgb2tfcmVjbGFpbV9saXN0IGZvcgo+IGJsb2NrcyB3aXRoIHRoYXQgc2l6ZSBv
ZiBvYmplY3QsIGxpbmtlZCB0b2dldGhlciBieSB0aGUgaGJfbmV4dCBmaWVsZC4gVGhpcwo+IGlz
IHNldCB1cCBieSBHQ19hcHBseV90b19hbGxfYmxvY2tzKCkgYWZ0ZXIgZWFjaCBHQywgd2hpY2gg
cHJvY2Vzc2VzIHBhZ2VzCj4gaW4gb3JkZXIgb2YgbWVtb3J5IGFkZHJlc3MuCj4gCj4gWzFdIHVu
bGVzcyB5b3UgdXNlIEdDX2ZyZWUoKSwgaW4gd2hpY2ggY2FzZSBhbnl0aGluZyBmcmVlZCBieSBH
Q19mcmVlKCkgaXMKPiBhdCB0aGUgc3RhcnQgb2YgdGhlIGZyZWUgbGlzdCBhbmQgd2lsbCBiZSB0
aGUgZmlyc3Qgb2JqZWN0KHMpIG9mIHRoYXQKPiBzaXplKCZraW5kKSB0byBiZSByZXR1cm5lZCBm
cm9tIEdDX21hbGxvYygpLgoKQ2hlZXJzLgoKLS0gClBhdWwgQm9uZQpodHRwOi8vcGF1bC5ib25l
LmlkLmF1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRl
dmVsb3BlcnMgbWFpbGluZyBsaXN0CmRldmVsb3BlcnNAbGlzdHMubWVyY3VyeWxhbmcub3JnCmh0
dHBzOi8vbGlzdHMubWVyY3VyeWxhbmcub3JnL2xpc3RpbmZvL2RldmVsb3BlcnMK