<mattip>
listening to the "talk python to me" interview with Anthony Shaw about the relase of pyjion
<mattip>
when talking about JIT optimizations, he mentioned cfbolz
<cfbolz>
nice :-)
<cfbolz>
we've been talking on twitter a lot
otisolsen70 has joined #pypy
<mattip>
hmm, we don't have _hashlib.HASHXOF and the openssl_shake_* hashes at all
<mattip>
but neither does Ubuntu CPython3.8 nor conda 3.8
<cfbolz>
mattip: no clue :-(
amauryfa has joined #pypy
amauryfa has quit [Ping timeout: 245 seconds]
saltrocklamp[m] has quit [Quit: Bridge terminating on SIGTERM]
jryans has quit [Quit: Bridge terminating on SIGTERM]
daubers has quit [Quit: Bridge terminating on SIGTERM]
the_drow has quit [Quit: Bridge terminating on SIGTERM]
graingert[m] has quit [Quit: Bridge terminating on SIGTERM]
ambv has quit [Quit: Bridge terminating on SIGTERM]
jryans has joined #pypy
ambv has joined #pypy
graingert[m] has joined #pypy
saltrocklamp[m] has joined #pypy
the_drow has joined #pypy
daubers has joined #pypy
jryans has quit [Quit: Client limit exceeded: 20000]
graingert[m] has quit [Quit: Client limit exceeded: 20000]
saltrocklamp[m] has quit [Quit: Client limit exceeded: 20000]
Julian has joined #pypy
Julian has quit [Client Quit]
Julian has joined #pypy
<ctismer>
cfbolz: What about `PyFunction_Check`, does something similar apply there like at `PyMethod_Check`?
jryans has joined #pypy
saltrocklamp[m] has joined #pypy
graingert[m] has joined #pypy
<cfbolz>
ctismer: I don't know, how do you usually recognize C-defined *functions* as opposed to methods
<cfbolz>
?
<mattip>
I think the same thing applies as before, it is a simple check isinstance(obj, types.FunctionType)
<ctismer>
cfbolz: well, I was just digging around in our generated code and saw that there are a lot of such functions. Could again be a boost in less bugs 😀
<ctismer>
cfbolz: same idea: if PyPy disagrees what a PyFunction is, resp. more importantly what it is not, this could make a difference.
<cfbolz>
for functions we have a distinction tohugh
<cfbolz>
ie this is False in pypy too: type(dir) is type(lambda:1)
<ctismer>
mattip: With PyMethod_Check, I could ask if a `__module__` attr is there. What would I need in the PyFunction case, the same?
<ctismer>
cfbolz: ah, how sad
<mattip>
cfbolz: I am running into a problem calling _posixsubprocess.fork_exec, it seems to have grown another argument on py3.9?
<mattip>
line 1503 in lib-python3/subprocess.py
<cfbolz>
mattip: I did some work on that on the py3.9 branch on that
<mjacob>
cool, how did you make translating pypy 40% faster?
<cfbolz>
mjacob: algorithmic improvements
<cfbolz>
mjacob: accidentally quadratic rtyping
<cfbolz>
plus precompiled headers in gcc
<mjacob>
nice :)
<mjacob>
i found the precompiled headers branch, but not the rtyper improvement
<cfbolz>
mjacob: 79c62ab5b86b
<cfbolz>
also e9dba3bc41a2
<cfbolz>
that's a graph algorithm
<mjacob>
cfbolz: the fixes look easy, how did you find the problem?
<cfbolz>
profiling :-)
<cfbolz>
nothing magic anywhere, basically
<cfbolz>
just work
<cfbolz>
nobody had looked in a long time
<cfbolz>
mjacob: next summer I'm going to do another 40% 😉😅
Jose_ has joined #pypy
greedom has quit [Remote host closed the connection]
otisolsen70 has quit [Quit: Leaving]
amauryfa has quit [Ping timeout: 245 seconds]
<mjacob>
what's the current review policy? if i think my fix is good, can i just push it to the branch and assume that someone will do a "post-commit" review?
<mjacob>
i'm pushing without pre-merge review now. sorry if this changed in the meantime.