On singleton modules, heap types, and subinterpreters
Petr Viktorin <[email protected]> Sun, 26 Jul 2015 12:39:21 +0200
| Newsgroups | gmane.comp.python.import |
|---|---|
| Message-ID | <CA+=+wqDjQnUq2AteFWRG7fZJ9U5GvaMYwunZEo_TDxd-CYcKXw@mail.gmail.com> |
SGVsbG8sClRoaXMgaXMgYSBmb2xsb3ctdXAgdG8gUEVQIDQ4OSBhbmQgZGlzY3Vzc2lvbnMgcmVn YXJkaW5nIHBlci1tb2R1bGUKZGF0YSBQeVN0YXRlX0ZpbmRNb2R1bGUuCkl0IHR1cm5lZCBvdXQg dG8gYmUgcXVpdGUgdGhlIHJhYmJpdCBob2xlLiBBcG9sb2dpZXMgZm9yIHRoZSBsb25nCm1haWws IEkgaG9wZSBpdCBlbmRzIHVwIHN1ZmZpY2llbnRseSBjbGVhci4KClVzaW5nIHNpbmdsZS1waGFz ZSBpbml0aWFsaXphdGlvbiAodGhlIHByZS1QRVAgNDg5IHNvbHV0aW9uKSwKZXh0ZW5zaW9uIG1v ZHVsZXMgYXJlIGVmZmVjdGl2ZWx5IHNpbmdsZXRvbnMg4oCTIHRoZXJlJ3MgdXAgdG8gb25lCmlu c3RhbmNlIG9mIGEgcGFydGljdWxhciBtb2R1bGUgaW4gYW55IGdpdmVuIHN1YmludGVycHJldGVy LiBDeXRob24KbW9kdWxlcyBvbmx5IGFsbG93IG9uZSBpbnN0YW5jZSAqcGVyIHByb2Nlc3MqLgoK VXNpbmcgdGhlIG5ldyBtdWx0aXBsZS1waGFzZSBpbml0LCBvbmUgY2FuIGNyZWF0ZSBzZXZlcmFs IG1vZHVsZXMgZnJvbQpvbmUgUHlNb2R1bGVEZWYg4oCTIGVpdGhlciAoYWdhaW4pIG9uZSBwZXIg c3ViaW50ZXJwcmV0ZXIsIG9yIGZvcgp0ZXN0aW5nIHB1cnBvc2VzLiBBcyBwZXIgdGhlIGdvYWwg b2YgUEVQIDQ4OSwgdGhpcyBicmluZ3MgZXh0ZW5zaW9uCm1vZHVsZXMgY2xvc2VyIHRvIGhvdyBQ eXRob24gbW9kdWxlcyBiZWhhdmUuCgpUaGUgcHJvYmxlbSBpcyB0aGF0IGNsYXNzZXMgZGVmaW5l ZCBpbiBhIG1vZHVsZSBkb24ndCBoYXZlIGEgcmVmZXJlbmNlCnRvIHRoZSBtb2R1bGUgb2JqZWN0 LiBGb3IgZXhhbXBsZSwgdGhlIF9jc3YgbW9kdWxlIGRlZmluZXMgdGhlIGNsYXNzZXMKInJlYWRl ciIgYW5kICJFcnJvciIuIFRoZSBjb2RlIGluICJyZWFkZXIiIG5lZWRzIHRvIGhhdmUgYWNjZXNz IHRvCiJFcnJvciIgaW4gb3JkZXIgdG8gcmFpc2UgZXhjZXB0aW9ucy4KKFRoZSBFcnJvciBjbGFz cyBoZXJlIGlzIGp1c3QgYW4gZXhhbXBsZSBvZiBtb2R1bGUgc3RhdGU7IHRoaW5ncyBsaWtlCl9j c3YncyBnbG9iYWwgZmllbGQgc2l6ZSBsaW1pdCBvciBDeXRob24gZ2xvYmFscyBhbHNvIG5lZWQg dG8gYmUKYWNjZXNzZWQgZnJvbSBjbGFzc2VzLikKV2l0aCB0aGUgdHJhZGl0aW9uYWwgc2luZ2xl LXBoYXNlIGluaXQsIHRvIGFjY2VzcyBtb2R1bGUgc3RhdGUsIG9uZQpjYW4gdXNlIFB5U3RhdGVf RmluZE1vZHVsZSwgd2hpY2ggcXVlcmllcyBhIHBlci1zdWJpbnRlcnByZXRlciBtYXBwaW5nCm9m IFB5TW9kdWxlRGVmIHRvIG1vZHVsZSBvYmplY3QuIFRoaXMgb2J2aW91c2x5IGFzc3VtZXMgb25l IG1vZHVsZSBwZXIKc3ViaW50ZXJwcmV0ZXIsIHdoaWNoIGlzIGEgbGltaXRhdGlvbiB0aGF0IFBF UCA0ODkgY3VycmVudGx5IGF2b2lkcy4KQnJpbmdpbmcgdGhpcyBsaW1pdGF0aW9uIGJhY2sgd291 bGQgcHJvYmFibHkgYmUgdGhlIGVhc2llc3Qgc29sdXRpb24KdG8gdGhlIHByb2JsZW0gSSdtIGRl c2NyaWJpbmcgaGVyZTsgdGhpcyBoYXMgYmVlbiBkaXNjdXNzZWQgaW4gdGhlCmZvcm0gb2YgInNp bmdsZXRvbiBtb2R1bGVzIiBbMF0sIGFuZCBwb3N0cG9uZWQgaW4gaG9wZXMgb2YgYSBiZXR0ZXIK c29sdXRpb24uCgpTbywgd2hhdCBvcHRpb25zIGFyZSB0aGVyZSBmb3IgbWV0aG9kcyBvZiBleHRl bnNpb24gY2xhc3NlcyB0byBnZXQgYQpob2xkIG9mIHRoZSBtb2R1bGUgb2JqZWN0IChvciBtb2R1 bGUgc3RhdGUpPwpGb3Igc3RhdGljIGNsYXNzZXMsIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHN0b3Jl IGEgcmVmZXJlbmNlIG1vZHVsZSwKYmVjYXVzZSBtdWx0aXBsZSBtb2R1bGVzIGNhbiB1c2UgYSBz aW5nbGUgc3RhdGljIGNsYXNzLgpBbHNvLCBzdGF0aWMgY2xhc3NlcyB3b24ndCBiZWhhdmUgd2Vs bCB3aXRoIG11bHRpcGxlIHN1YmludGVycHJldGVyczoKaWYgYW4gb2JqZWN0IG9mIHN1Y2ggYSBj bGFzcyBpcyBwYXNzZWQgaW50byBhIHN1Ym1vZHVsZSB0aGF0IGRvZXNuJ3QKaGF2ZSB0aGUgY29y cmVzcG9uZGluZyBtb2R1bGUgb2JqZWN0IGxvYWRlZCwgUHlTdGF0ZV9GaW5kTW9kdWxlIHdpbGwK ZmFpbC4gQW5kIFB5U3RhdGVfRmluZE1vZHVsZSBmYWlsdXJlIHRlbmRzIHRvIGhhdmUgdmVyeSBu YXN0eQpjb25zZXF1ZW5jZXMg4oCTIHRoZXJlJ3MgcmVhbGx5IG5vdCBtdWNoIHlvdSBjYW4gZG8g d2hlbiB5b3UgZ2V0IGEgTlVMTCwKYW5kIG1vc3QgbW9kdWxlcyBkb24ndCBldmVuIGNoZWNrLiBB bmQgZXZlbiBpZiBQeVN0YXRlX0ZpbmRNb2R1bGUKc3VjY2VlZHMsIGluIGEgImZvcmVpZ24iIHN1 YmludGVycHJldGVyIGl0IGFyZ3VhYmx5IHdvbid0IGZpbmQgdGhlCiJjb3JyZWN0IiBtb2R1bGUg aW5zdGFuY2UuIFNvLCBzaW5nbGV0b24gbW9kdWxlcyAob3IgdGhlIHByZS1QRVA0ODkKc3RhdHVz IHF1bykgYXJlbid0IGEgZ29vZCBhbnN3ZXIuCgpTbyBpdCBzZWVtcyB0aGF0IGV4dGVuc2lvbiBt b2R1bGVzIHRoYXQgbmVlZCBwZXItbW9kdWxlIHN0YXRlIG5lZWQgdG8KdXNlIGhlYXAgdHlwZXMu IEFuZCB0aGUgaGVhcCB0eXBlcyBuZWVkIGEgcmVmZXJlbmNlIHRvICJ0aGVpciIgbW9kdWxlLgpB bmQgbWV0aG9kcyBvZiB0aG9zZSB0eXBlcyBuZWVkIHRvIGJlIGNhbGxlZCB3aXRoIHRoZSBjbGFz cyB0aGF0CmRlZmluZWQgdGhlbS4KVGhpcyB3b3VsZCBiZSBwb3NzaWJsZSB3aXRoIHJlZ3VsYXIg bWV0aG9kcy4gQnV0LCBjb25zaWRlciBmb3IgZXhhbXBsZQp0aGUgdHBfaXRlcm5leHQgc2lnbmF0 dXJlOgoKICAgIFB5T2JqZWN0KiBteW9ial9pdGVybmV4dChQeU9iamVjdCAqc2VsZikKClRoZXJl J3Mgbm8gZ29vZCB3YXkgZm9yIHRoaXMgZnVuY3Rpb24gdG8gZ2V0IGEgcmVmZXJlbmNlIHRvIHRo ZSBjbGFzcwppdCBiZWxvbmdzIHRvLgpgUHlfVFlQRShzZWxmKWAgbWlnaHQgYmUgYSBzdWJjbGFz cy4gVGhlIGJlc3Qgd2F5IEkgY2FuIHRoaW5rIG9mIGlzCndhbGtpbmcgdGhlIE1STyB1bnRpbCBJ IGdldCB0byBhIGNsYXNzIHdpdGggdHBfaXRlciAob3IgYSBjbGFzcwpjcmVhdGVkIGZyb20gIm15 IiBrbm93biBQeVR5cGVfU3BlYyksIGJ1dCBvbmUgb2YgdGhlIHJlcXVpcmVtZW50cyBvbgptb2R1 bGUgc3RhdGUgaXMgdGhhdCBpdCBuZWVkcyB0byBiZSBlZmZpY2llbnQsIHNvIEknZCByYXRoZXIg YXZvaWQKd2Fsa2luZyBhIGxpc3QuCgpUaGF0J3Mgd2hlcmUgSSdtIGN1cnJlbnRseSBzdHVjay4g RG9lcyBhbnlvbmUgaGF2ZSBhbnkgaWRlYXMvY29tbWVudHMKb24gdGhpcyBwcm9ibGVtPwoKWzBd IGh0dHBzOi8vbWFpbC5weXRob24ub3JnL3BpcGVybWFpbC9pbXBvcnQtc2lnLzIwMTUtQXByaWwv MDAwOTQ2Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW1wb3J0LVNJRyBtYWlsaW5nIGxpc3QKSW1wb3J0LVNJR0BweXRob24ub3JnCmh0dHBzOi8v bWFpbC5weXRob24ub3JnL21haWxtYW4vbGlzdGluZm8vaW1wb3J0LXNpZwo=