On 07/21/2017 03:28 PM, Barry Warsaw wrote:
The TPI (Terrible Python Idea) I had at Pycon was some kind of (local)
memcached of imported Python modules, which would theoretically allow avoiding
loading the modules from the file system on start up.
There would be all kinds of problems with this (i.e. putting the "terrible" in
TPI), such as having to deal with module import side-effects, but perhaps
those could be handled by enough APIs and engineering.
This would be taking a page out of PHP's book.
PHP--or at least, PHP ten years ago--doesn't have the equivalent of .pyc
files. If you have mod_php running inside Apache with no other
extensions, it literally tokenizes each .php script every time it's invoked.
To solve this performance problem, someone wrote the "Alternative PHP
Cache" (or "APC"), which runs /in Apache/. (Yep, it's not usable
outside Apache!) APC stores the tokenized versions of PHP scripts in
something approximating their actual in-memory representation. To use
something stored in the cache, you'd iterate over all the
variables/functions, copy each one into your local interpreter instance,
and perform fixups on all the pointers to convert them from relative to
absolute addresses.
http://php.net/manual/en/book.apc.php
I note that the introduction to APC says:
Warning
This extension is considered unmaintained and dead. However, the
source code for this extension is still available within PECL.
So perhaps the PHP folks have moved on from this technique.
//arry/
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com