[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pypy-dev
Subject:    Re: [pypy-dev] Saving and reloading JIT optimizations
From:       "Zooko O'Whielacronx" <zooko () zooko ! com>
Date:       2011-08-21 17:49:22
Message-ID: CANdZDc5q0gh1ZqDMm913bsqaCuAsBuG7SYX++D8JQG0adoAOSQ () mail ! gmail ! com
[Download RAW message or body]

[following-up to my own post]

On Sun, Aug 21, 2011 at 11:44 AM, Zooko O'Whielacronx <zooko@zooko.com> wrote:
>
> The behavior of a program is a deterministic function of its source
> code, right? So if the source code (*all* of it -- everything that
> gets imported and executed at any point during the run of the program)
> is identical, then the behavior will be identical, and then re-using
> compiled code from previous runs would always yield a correct result.
> Am I still on track so far?

Uh-oh, I think I may have already gone off track here in the first
paragraph. What if you use information from the runtime *inputs* --
not imported code but inputted data -- to change how you compile the
code? Then even if *all* of the source code is exactly the same,
re-using the compiled code from the previous run may generate
incorrect results. Is that right?

Solving that one is still, in my opinion, theoretically possible, but
now in addition to the formidable challenge of finding safe boundaries
where the knock-on effects of changed source code don't cross, we
would *also* have to find boundaries of the effects of changed data
inputs. This is, of course, one of those grand challenges that the
programming languages researchers have been knocking their collective
heads against for at least thirty years.

Therefore I expect the PyPy project will have to work on it for at
least a year or two more before you solve it. ;-)

Regards,

Zooko
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
http://mail.python.org/mailman/listinfo/pypy-dev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic