2015-12-17 11:54 GMT+01:00 Franklin? Lee <leewangzhong+pyt...@gmail.com>: > My suggestion should improve *all* function calls which refer to > outside names.
Ok, I now think that you should stop hijacking the FAT Python thread. I start a new thread. IMHO your dictionary reference idea is completly unrelated to FAT Python. FAT Python is about guards and specialized bytecode. > Each function keeps an indirect, automagically updated > reference to the current value of the names they use, and will never > need to look things up again.[*] Indirections, nested dictionaries, creation of new "reference" objects... IMHO you are going to have major implementation issues :-/ The design looks *very* complex. I'm quite sure that you are going to make namespace lookups *slower*. It reminds me Python before the with statement and PyPy garbage collector. Many applications relied on the exact behaviour of CPython garbage collector. For example, they expected that a file is written on disk when the last reference to the file object is destroyed. In PyPy, it wasn't (it isn't) true, the write can be delayed. I guess that with all your complex machinery for dict lookups, you will have similar issues of object lifetime. It's unclear to me when and how "reference" objects are destroyed, nor when dict values are destroyed. What happens if a dict key is removed and a reference object is still alive? Is the dict value immediatly destroyed? Does the reference object contain a strong or a weak reference to the value? Victor _______________________________________________ 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