cfbolz changed the topic of #pypy to: #pypy PyPy, the flexible snake https://pypy.org | IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end and https://libera.irclog.whitequark.org/pypy | hacking on TLS is fun, way more fun than arguing over petty shit, turns out
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 264 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
<tumbleweed> hrm, 2.7 fails to build on s390x, with a stack overflow, on all the Ubuntu releases < 12.04
* tumbleweed gives them another try
<tumbleweed> same thing happened on some 3.7 builds
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
<mattip> when do you drop an Ubuntu version?
<tumbleweed> when it has successfully built
<tumbleweed> oh, you mean when I stop building for an old version
<tumbleweed> when I can't make it work any more
<tumbleweed> e.g. 3.7 can't be built on 12.04 any more because it requires openssl 1.1
<tumbleweed> otherwise it tends to "just work" on older releases
<tumbleweed> I haven't dug into the stats on usage
<tumbleweed> but it's a small not a whole lot of effort to support all the stable releases
glyph has quit [Quit: End of line.]
glyph has joined #pypy
fotis has joined #pypy
<tumbleweed> getting a reproduceable gcc segfault on arm64 for *ancient* Ubuntu 14.04 - not going to do anything about that
<tumbleweed> oh, I meant 14.04 for openssl too. So clearly time for me to drop 14.04
mjacob has quit [*.net *.split]
marmoute has quit [*.net *.split]
mjacob has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
lritter has joined #pypy
<mattip> more fallout from the release: it seems CPython on windows moved to linking with libffi-8 when we link with libffi-7
<mattip> the difference is libffi-8 is the name for libffi release 3.4.2
<mattip> which added "static trampoline support for Linux on x86_64 and ARM64"
<mattip> is "static trampoline support" a common term? I think it has to do with creating trampoline support inside libffi itself rather than in an external /tmp file
<mattip> but I am probably wrong
<mattip> my real question is whether this should be something the JIT should be doing (if it doesn't already)
_0az3 has quit [Quit: afk]
_0az3 has joined #pypy
fotis has joined #pypy
otisolsen70 has joined #pypy
otisolsen70_ has joined #pypy
otisolsen70_ has quit [Remote host closed the connection]
otisolsen70 has quit [Ping timeout: 258 seconds]
fotis has quit [Ping timeout: 260 seconds]
fotis has joined #pypy
<cfbolz> mattip: it's not like we are missing features from libffi
<cfbolz> tumbleweed: thanks for all your packaging work!
fotis has quit [Ping timeout: 264 seconds]
fotis has joined #pypy
phlebas has quit [Ping timeout: 245 seconds]
phlebas has joined #pypy
fotis has quit [Ping timeout: 258 seconds]
fotis has joined #pypy
daubers has joined #pypy
fotis has quit [Ping timeout: 260 seconds]
fotis has joined #pypy
Olliemath has joined #pypy
fotis has quit [Ping timeout: 245 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 258 seconds]
otisolsen70 has joined #pypy
ceridwen has quit [Ping timeout: 264 seconds]
Olliemath has quit [Ping timeout: 256 seconds]
<arigato> mattip: can you find anything more detailed than this short "static trampoline support" sentence?
<arigato> I think it's some kind of way to workaround the restrictive permissions on some platforms for making callbacks, but obviously I'd love to have anything concrete to look at
arigato has left #pypy [Leaving]
arigato has joined #pypy
<arigato> it seems to be enabled by default with no new API
<arigato> I hope that this time it's done in a way that doesn't trigger the obvious security bug in case of fork(), as per https://cffi.readthedocs.io/en/latest/using.html#callbacks-old-style, but it's out of my hands because it's not a feature you can enable or disable at runtime
slav0nic has joined #pypy
Olliemath has joined #pypy
fotis has joined #pypy
<cfbolz> arigato: hey!
<cfbolz> https://foss.heptapod.net/pypy/pypy/-/issues/3574 this is likely the "too many bridges" problem, right?
<cfbolz> this makes me basically wonder whether it's strictly a good idea to promote every variable that gets passed as a green into a recursive portal call
<arigato> what are the results printed if you swap the two timing sections in the source?
<cfbolz> arigato: stays basically the same
<arigato> i.e.?
<cfbolz> arigato: ie the times are swapped too
<arigato> OK
<cfbolz> that means the loop where we see tons of patterns is slow. but if we repeat the same pattern many times before going on to the next one we are ok
<arigato> unsure why
<cfbolz> arigato: my theory is: we get a chain of bridges in the inner loop in the slow version
<cfbolz> but we get the chain in the outer loop in the fast one
<arigato> why to we get the chain in the outer loop in the fast version?
<arigato> ah, is that because of loop unrolling?
<cfbolz> yes, I think so
* cfbolz needs to look
<cfbolz> no, more complicated
<cfbolz> anyway, it's definitely chain of guards
<cfbolz> arigato: what I don't completely understand is the difference between the two versions
<arigato> in the 2nd version the guards that promote "p" is lifted out of the loop, I guess?
<arigato> so the whole inner loop is compiled 100 times but every version is specialized for a 'p'
<cfbolz> arigato: no, the bridges for the fast version still all jump to the same label
<cfbolz> I don't understand the difference
fotis has quit [Ping timeout: 260 seconds]
<cfbolz> arigato: no, even in the fast version things become slower and slower the more patterns are added. it remains a linear search
<cfbolz> with a constant speedup of 2x compared to the slow one
<cfbolz> (it's also interesting that we remain faster than CPython for quite long, eg a linear lookup of 70 patterns is fine)
fotis has joined #pypy
fotis has quit [Ping timeout: 264 seconds]
fotis has joined #pypy
<arigato> maybe we should just finish the long-ago branch that makes such branches a logarithmic search instead of linear
lritter has quit [Ping timeout: 258 seconds]
Dejan_ has joined #pypy
Dejan_ has quit [Remote host closed the connection]
<Dejan> [PyPy 7.3.7-alpha0 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] -- does this mean 7.3.6 has been released? :)
fotis has quit [Ping timeout: 260 seconds]
otisolsen70 has quit [Ping timeout: 245 seconds]
<Olliemath> Hey all, is there a linter setup you use with the pypy codebase? I usually use flake8, but it's very unhappy with me here.
<Olliemath> I can probably make a config that works, just wondering if there's a common one already in use
Julian has joined #pypy
<cfbolz> olliemath: not really, no
<cfbolz> We have quite a few idiosyncrasies :-/
fotis has joined #pypy
<mattip> Dejan: where would the release have caught your eye? We announced it here, on the blog, twitter, and in reddit r/python
<Dejan> mattip, maybe it is my browser playing tricks on me
<mattip> refresh that page with F5
<mattip> what header do we need to add to get that to happy automatically?
<mattip> happen
<mattip> in other news, it seems 7.3.6 ups the memory requirement for translation
<Dejan> no idea, i am not a web guru :) yea, when i forced reload it shows correct version...
<mattip> the conda-forge windows builds are running out of memory when writing the C files
<mattip> maybe PYPY_GC_MAX_DELTA ?
fotis has quit [Ping timeout: 264 seconds]
fotis has joined #pypy
<Olliemath> cfbolz dang, well I've build a flake8 config that works with the rpython dir over here https://gist.github.com/olliemath/ff8da156e879ee06c5970b5c130788d1
<Olliemath> in case it's useful for anyone
<cfbolz> mattip: ugh
<cfbolz> I am not aware of anything that changed along those lines
<cfbolz> olliemath: nice! Pull request?
<Olliemath> mattip thanks - I'll try and open one up later today
<cfbolz> Cool :-)
<cfbolz> olliemath: do you plan to hack on PyPy in general?
Julian has quit [Quit: leaving]
Olliemath has quit [Quit: Client closed]
<mattip> heh, using PYPY_GC_MAX_DELTA=400MB made the build succeed, and didn't perceptibly slow it down from 7.3.5
fotis has quit [Ping timeout: 260 seconds]
Olliemath has joined #pypy
<Olliemath> I got disconnected there - so in case these didn't send: The short answer is yes :)
<Olliemath> The longer answer is that I'm unable to make firm time commitments.
<Olliemath> My work allows 20% of time on personal development or OSS that we use - but that 20% sometimes gets spread pretty thin / interrupted by fire-fighting etc.
fotis has joined #pypy
fotis has quit [Ping timeout: 245 seconds]
<cfbolz> olliemath: cool!
<cfbolz> olliemath: welcome to the project! If you want to discuss or ask stuff, just let us know
<Olliemath> thanks!
fotis has joined #pypy
fotis has quit [Ping timeout: 260 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 264 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 260 seconds]
Atque has joined #pypy
fotis has joined #pypy
fotis has quit [Ping timeout: 258 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
Gustavo6046 has joined #pypy
slav0nic has quit [Ping timeout: 258 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 258 seconds]