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

Reply via email to