我正在RPython中开发一个简单的VM,使用Pypy来检查JIT跟踪:
python ./.pypy/rpython/translator/goal/translate.py --opt=jit ${PWD}/src/awk_vm/awk_vm.py
但是当我运行我的翻译程序时,我没有从日志中得到任何信息:
$ PYPYLOG=jit-log-opt:./log/awk_vm_loops.logfile ./awk_vm-c ./programs/awk/loops.awk
我看不出我在做什么和PyPy 教程不同
这是我的PyPy教程代码。
如能提供任何帮助,将不胜感激:)
用伪制品和外壳cmd - https://github.com/Pavel-Durov/pypy.meta.tracing/releases/tag/0.0.3更新了我的git发行版
发布于 2022-09-10 18:43:03
在尝试了一堆随机的东西,比较教程等之后,我发现了它!我的问题是,我的程序太缺乏产生jit日志。
我最初运行的程序是:
x = {};
x.a = 0;
x.b = 4;
while (x.a < 10) {
x.a = x.a + x.b;
}
x.b = 9;
y = {};
y.a = x.b;
当我将程序更改为具有更多实际循环时:
...
while (x.a < 99999) {
x.a = x.a + x.b;
}
...
我突然产生了吉特原木!
我仍然不明白为什么它不适用于短节目。JIT没来吗?我需要阅读更多关于JIt实现的信息:)
但是是的,我有我的jit日志!
https://stackoverflow.com/questions/73665618
复制相似问题