<korvo>
Okay, good and bad progress. Good progress: I can concretely show that PyPy has a slight Jones speedup compared to CPython, in the sense that building PyPy as a bootstrapper and then again with itself is slightly faster than building PyPy with CPython. It's not much, 51min < 52min, but it's real. Very cool to see theory come alive.
itamarst has quit [Quit: Connection closed for inactivity]
[Arfrever] has quit [Ping timeout: 268 seconds]
[Arfrever] has joined #pypy
<korvo>
Bad progress: I may have found a non-deterministic crash when translating PyPy3. If I can confirm that it's really something that happens on an otherwise-unchanged environment, I'll share a traceback.
LarstiQ has quit [*.net *.split]
LarstiQ has joined #pypy
derpydoo has joined #pypy
<nikolar>
korvo what's a Jones speedup
jcea has joined #pypy
korvo has quit [Quit: Client closed]
derpydoo has quit [Ping timeout: 272 seconds]
itamarst has joined #pypy
korvo has joined #pypy
<korvo>
nikolar: Jones-optimality is when a specializer/partial-evaluator is able to remove all of the scaffolding from a meta-interpreter (run on itself, usually). A Jones speedup is when it's faster to build a specializer and specialize each interpreter than to build the interpreters directly. Here, after building a bootstrap CPython, it was faster to
<korvo>
use CPython to build PyPy2 and use *that* as the bootstrap than to build everything with CPython.
<nikolar>
Ah right
<nikolar>
Until I got to the example I was a bit confused lol
<korvo>
No worries. Very few folks know about Jones' concepts, because partial-evaluation lore is so obscure. Basically, it's about whether a specializer is so good that it can erase all interpretative overhead, regardless of the specific interpreter's internal design.
<korvo>
LarstiQ: I think that #pypy2 and #pypy3 should both build for you now. They build in CI and you can pull them from `rpypkgs` Cachix cache. I suspect #pypy3 might have a non-deterministic crash during translation; if you experience a cryptic and transient translation error, please share details.