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