A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2012-April/118780.html below:

[Python-Dev] importlib is now bootstrapped (and what that means)

[Python-Dev] importlib is now bootstrapped (and what that means)Eric Snow ericsnowcurrently at gmail.com
Mon Apr 16 19:45:05 CEST 2012
On Mon, Apr 16, 2012 at 11:32 AM, Brett Cannon <brett at python.org> wrote:
>
>
> On Mon, Apr 16, 2012 at 13:04, "Martin v. Löwis" <martin at v.loewis.de> wrote:
>>
>> > I don't see how depending on Cython is better than depending on having
>> > an existing Python.  If the only benefit is semi-readable code, surely
>> > we do have source code for the pre-frozen module, and it is just a
>> > matter
>> > of convincing hg that the bytecode is binary, not text?
>>
>> Cython-generated C code would likely be more stable (and produce
>> compiler errors if it gets stale), whereas importlib.h needs to be
>> regenerated with byte code changes.
>>
>> Having source code has the advantage that it becomes possible to
>> single-step through the import process in C debugger. Single-stepping
>> with pdb would, of course, be better than that, but I doubt it's
>> feasible.
>>
>> In addition, there might be a performance gain with Cython over ceval.
>
>
> The other benefit is maintainability. In order to hit my roughly 5% startup
> speed I had to rewrite chunks of __import__() in C code and then delegate to
> importlib's Python code in cases where sys.modules was not hit. Using Cython
> would mean that can all go away and the differences between the C and Python
> code would become (supposedly) non-existent, making tweaks easier (e.g. when
> I made the change to hit sys.modules less when a loader returned the desired
> module it was annoying to have to change importlib *and* import.c).

+1 on reducing the complexity of the import code.

-eric
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4