On 10/04/2018 18:54, Zachary Ware wrote: > On Tue, Apr 10, 2018 at 12:38 PM, Chris Angelico <ros...@gmail.com> wrote: >> A deployed Python distribution generally has .pyc files for all of the >> standard library. I don't think people want to lose the ability to >> call help(), and unless I'm misunderstanding, that requires >> docstrings. So this will mean twice as many files and twice as many >> file-open calls to import from the standard library. What will be the >> impact on startup time? > > What about instead of separate files turning the single file into a > pseudo-zip file containing all of the proposed files, and provide a > simple tool for removing whatever parts you don't want? >
Personally I quite like the idea of having the doc strings, and possibly other optional components, in a zipped section after a marker for the end of the operational code. Possibly the loader could stop reading at that point, (reducing load time and memory impact), and only load and unzip on demand. Zipping the doc strings should have a significant reduction in file sizes but it is worth remembering a couple of things: - Python is already one of the most compact languages for what it can do - I have had experts demanding to know where the rest of the program is hidden and how it is being downloaded when they noticed the size of the installed code verses the functionality provided. - File size <> disk space consumed - on most file systems each file typically occupies 1 + (file_size // allocation_size) clusters of the drive and with increasing disk sizes generally the allocation_size is increasing both of my NTFS drives currently have 4096 byte allocation sizes but I am offered up to 2 MB allocation sizes - splitting a .pyc 10,052 byte .pyc file, (picking a random example from my drive) into a 5,052 and 5,000 byte files will change the disk space occupied from 3*4,096 to 4*4,096 plus the extra directory entry. - Where absolute file size is critical you, (such as embedded systems), can always use the -O & -OO flags. -- Steve (Gadget) Barnes Any opinions in this message are my personal opinions and do not reflect those of my employer. --- This email has been checked for viruses by AVG. http://www.avg.com _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/