[pypy-dev] Rollback interpreter state to fork for unittesting

anatoly techtonik techtonik at gmail.com
Wed Mar 19 10:42:16 CET 2014


On Wed, Mar 19, 2014 at 11:54 AM, Armin Rigo <arigo at tunes.org> wrote:
> Hi Anatoly,
>
> On 19 March 2014 09:47, anatoly techtonik <techtonik at gmail.com> wrote:
>>> Unsure what you want to do, but isn't os.fork() the answer to your
>>> first question?
>>
>> Yes, but on a interpreter level, independent of underlying platform.
>
> What is the motivation for avoiding os.fork()?

I'd gladly use it as a quick hack to solve my unit-testing performance
problem, but I am on Windows, so I had to think about ideal case.

> It's possible to do something like that in RPython, if you ignore all
> the additional complications like tracking raw-memory too; it looks
> like an infinite amount of painful work to me, but well, it's not my
> time :-)

Fair point. =) I am thinking about bytecode machine. Virtualization
software like virtualbox allow to save state at run-time and restore it
later at the exact point - continue to run the system from the moment
it was saved. And they do this in incremental way - keeping track of
what memory and disk have been touched.

So, can interpreter, while playing bytecode, do keep track of these
things and save/restore the state the same way? Is that possible
currently? If not, then why and what can be done?


More information about the pypy-dev mailing list