New submission from Terry J. Reedy:

This issue continues #25507.  I still want to reduce the number of modules 
imported when run.py starts a user process and the time they require.  In the 
process, I expect to reduce the number of tkinter module imports that need to 
be reversed and thereby make parts of the #25507 fix unnecessary.

"New changeset 93d325c64104 by Terry Jan Reedy in branch 'default':
Issue #25507: Move 4 objects from pyshell to run and switch inports.
https://hg.python.org/cpython/rev/93d325c64104";

This commit for #25507 was not needed for the fix I eventually choose, but it 
reduced the size of sys.modules in the user process from 193 to 156.  I have 
since determined that it reduced the time for startup imports on my machine 
from .45 to .25 seconds.  I now regard it as the first patch for this issue.

The attached file was explained in msg270522.  This and similar refactorings 
should be done when or after I have otherwise revised the module and tests in 
question.

For a Windows build of repository 3.6, importing tkinter into a fresh python 
process increases len(sys.modules) from 41 to 65.  But run only imports tkinter 
so it can call _tkinter.tkapp().eval('update') in its interactive input loop.  
If other indirect imports were eliminated, I suspect _tkinter could be imported 
instead.

----------
assignee: terry.reedy
components: IDLE
files: run_autocomplete.diff
keywords: patch
messages: 270592
nosy: terry.reedy
priority: normal
severity: normal
stage: needs patch
status: open
title: IDLE: Reduce number and time for user process imports
type: enhancement
versions: Python 3.6
Added file: http://bugs.python.org/file43759/run_autocomplete.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27534>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to