cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
tos9 has joined #pypy
jcea has quit [Ping timeout: 250 seconds]
Gustavo6046 has quit [Quit: ZNC 1.8.2 - https://znc.in]
Gustavo6046 has joined #pypy
muke has quit [Quit: Leaving]
yuiza has joined #pypy
proteusguy has quit [Ping timeout: 260 seconds]
jacob22_ has quit [Read error: Connection reset by peer]
jacob22_ has joined #pypy
proteusguy has joined #pypy
Gustavo6046 has quit [Ping timeout: 260 seconds]
nulano has quit [Ping timeout: 246 seconds]
nulano has joined #pypy
lritter has joined #pypy
otisolsen70 has joined #pypy
<mattip> tumbleweed: from a cursory glance, it seems something is wrong with the networking on at least one of the runs.
<cfbolz> mattip: I'm trying to get the centos arm64 person on twitter to try the portable arm build
Gustavo6046 has joined #pypy
<mattip> +1
<cfbolz> I just profiled the C part of the pypy build
<cfbolz> with -j1 it takes 20 min on my laptop
<cfbolz> of that, 16 min are spend re-parsing forwarddecl.h again and again
<mattip> I looked into this a while ago and my conclusion was to only do it with MSVC, but I think even that bit suffered code rot
<cfbolz> ah, right
<mattip> that link suggests it only works for one header, but maybe that is all we need
<mattip> is forwarddecl.h the first header?
<cfbolz> no
* cfbolz experimenting a bit
<nimaje> where does it suggest that only one precompiled header is supported?
<mattip> "Only one precompiled header can be used in a particular compilation."
<nimaje> yes, just saw that
<cfbolz> mattip: it's probably doable by putting all the common header stuff into one file
<cfbolz> but that means changes to the backend a bit
<cfbolz> anyway, not sure I want to pursue this, but the numbers are quite extreme
<fijal> cfbolz: I tried digging there, but ended up with "meh, just use more processors"
<cfbolz> fijal: is that really true if 90% of the work is parsing the same headers?
<fijal> the total time of compilation is not significant enough with -j <a lot>
<fijal> I'm sure you can shave a few minutes
<cfbolz> Ok, I'll come back after we optimized the rest of rpython? 🤣
<mattip> in the hackmd I shared a few days ago, compilation is less than 15% of the translation time
<mattip> on both linux64 and arm64
<fijal> cfbolz: that ended up being my conclusion, I think
<mattip> what actually helped compilation time was reducing the number of C files
<mattip> we used to split things up alot more
<cfbolz> mattip: yeah, it helps because it reduces the number of times the headers are included ;-)
<mattip> on windows, compilation is 74/2038 secs, so maybe precompiled headers are working
<mattip> (about 3% of the total time)
<cfbolz> or maybe the windows compiler is simply faster
* cfbolz goes back trying to understand the new bytecode anyway
<mattip> :)
<cfbolz> I'm getting pretty close! it actually makes some things nicer
<mattip> typical conversation on PyPy
<mattip> excited voice: "hey I just noticed Y, we should try X"
<mattip> core dev: "yeah, we tried that a while ago and X doesn't work"
<cfbolz> I am not convinced it wouldn't help. but then I hvae too many things on my stack 😅
jcea has joined #pypy
<nimaje> is there a reason for not trying catting the *.c files together and compile that?
<Dejan> I always used DigitalMars C/C++ on Windows becuase it compiles blazingly fast (same for DMD - the D compiler)
<Dejan> and once it is ready to release I used something else, depending on platform
gsnedder1 is now known as gsnedders
<nulano> FWIW, MSVC compilation does use a precompiled header
<mattip> nulano: thanks for checking
<mattip> nimaje: I think we would need more memory
<mattip> the c we create is very verbose
<cfbolz> We also just have a lot of it
<mattip> there was a branch once upon a time to make the C more readable, I don't remember if it reduced line count as well
<nulano> the generated c files are actually split by a line count limit of 65535, for VC++ 7.2 according to the comment
<lazka> (MSYS2 has ucrt support now, so you could build MSVC compatible binaries with gcc on Windows as well)
<Dejan> MSYS2 rocks, I run MSYS2 sshd on one EC2 Windows instance so that I can ssh into msys2 environment :)
<Dejan> when I need to build something for Windows, which is rare nowadays...
<tumbleweed> mattip: yeah, we don't assume Internet access
<tumbleweed> I should disable tests that require it, if I find them
<lazka> Dejan, :)
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/7600 [Carl Friedrich Bolz-Tereick: force build, py3.8-new-opcodes]
Taggnostr has quit [Quit: Switching to single player mode.]
Taggnostr has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/7600 [Carl Friedrich Bolz-Tereick: force build, py3.8-new-opcodes]
nulano has quit [Ping timeout: 268 seconds]
nulano has joined #pypy
<cfbolz> mattip: does the mmap error ring a bell for you?
<cfbolz> Maybe I should merge the 3.7 branch
<Dejan> cfbolz, when is the next "live" session? :)
<Dejan> I enjoyed the last one
<cfbolz> Dejan: Saturday I hope
<cfbolz> And thanks :-)
todda7 has quit [Ping timeout: 268 seconds]
yuiza has quit [Ping timeout: 265 seconds]
<mattip> cfbolz: "hg diff -r py3.7 rpython/rlib/rmmap.py" shows the file differ, but not in a way that would solve the translation failure
<mattip> tumbleweed: CPython is looking for disto maintainers to comment on this issue
<mattip> and corresponding PR https://github.com/python/cpython/pull/24644
<tumbleweed> mattip: thanks
<tumbleweed> yeah, I'm aware of the bigger thing going on there, but hadn't seen that BPO/PR
holdsworth_ has quit [Quit: No Ping reply in 180 seconds.]
holdsworth has joined #pypy
<tumbleweed> mattip: +1 on https://bugs.python.org/issue43307 - that will simplify our patches
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3978 [Carl Friedrich Bolz-Tereick: force build, py3.8-new-opcodes]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3978 [Carl Friedrich Bolz-Tereick: force build, py3.8-new-opcodes]
todda7 has joined #pypy
asmeurer_ has joined #pypy
lritter has quit [Ping timeout: 240 seconds]
todda7 has quit [Ping timeout: 260 seconds]
todda7 has joined #pypy
<FergusL> Good evening, I am considering to use pypy as a builtin interpreter inside a plugin for a music software. At the moment I am reading about CFFI and the "new" embedding mode. I am still unsure if pypy/cffi will allow me to do what I want: I basically want to be able to execute a process() function from a user-supplied python script
todda7 has quit [Ping timeout: 260 seconds]
todda7 has joined #pypy
todda7 has quit [Ping timeout: 240 seconds]
todda7 has joined #pypy