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
Ai9zO5AP has quit [Quit: WeeChat 2.5]
created2 has joined #pypy
asmeurer has quit [Quit: asmeurer]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 260 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 260 seconds]
marky1991 has joined #pypy
marky1991 has quit [Ping timeout: 260 seconds]
adamholmberg has joined #pypy
senyai has quit [Remote host closed the connection]
senyai has joined #pypy
jcea has quit [Quit: jcea]
adamholmberg has quit [Remote host closed the connection]
created2 has left #pypy ["Leaving"]
dddddd has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 265 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 258 seconds]
Garen has quit []
marky1991 has joined #pypy
xcm has quit [Ping timeout: 260 seconds]
xcm has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 258 seconds]
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 258 seconds]
<mattip> conda publishes an open data set of downloads
<mattip> I wonder what 2.7 vs 3 statistics are looking like these days
olliemath has joined #pypy
xcm has quit [Remote host closed the connection]
dddddd has joined #pypy
xcm has joined #pypy
olliemath has quit [Ping timeout: 260 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
<energizer> pypistats.org
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 265 seconds]
_whitelogger has joined #pypy
<kenaan> mattip default c39c8c877848 /pypy/tool/release/make_portable.py: add tcl8, tk8 to bundle; make sure so is writable
<kenaan> mattip py3.6 bad589e6fe76 /: merge default into py3.6
<kenaan> mattip release-pypy3.6-v7.x 1608da62bfc7 /: merge py3.6 into release
<mattip> energizer: those stats include lots of CI runs, I don't think they reflect real users
<mattip> <spam>
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/6837 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7904 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-win-x86-32/builds/2217 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-s390x/builds/1430 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-aarch64/builds/260 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/5617 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/6685 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/4792 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5042 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/258 [mattip: force build, release-pypy3.6-v7.x]
<mattip> </spam>
<mattip> energizer: for instance, note the drop on the weekend https://pypistats.org/packages/requests
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/6837 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7904 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/5617 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-s390x/builds/1217 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/6685 [mattip: force build, release-pypy3.6-v7.x]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 265 seconds]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-win-x86-32/builds/2217 [mattip: force build, release-pypy3.6-v7.x]
infernix has quit [Ping timeout: 264 seconds]
jvesely has joined #pypy
adamholmberg has joined #pypy
YannickJadoul has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
<YannickJadoul> I'm guessing there's not yet a manylinux2010 image for a 7.3.0 rc?
<YannickJadoul> So to give it a shot, it's probably best to build and upload my own adapted version of the Docker image?
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-aarch64/builds/260 [mattip: force build, release-pypy3.6-v7.x]
<antocuni> finally I am going somewhere in my quest to speedup cpyext tests on the py3.6 branch
<antocuni> so, it seems that the major cause of the slowness is because we are importing half of the stdlib just to initialize the space
<mattip> YannickJadoul: sounds about right. It should be just wget 7.3.0rc3; tar -xf; pypy -mensurepip;
<antocuni> however, there is not a single source which triggers all these imports. I manage to greatly reduce the initialization (from ~55s to ~24s) only if I apply ALL these changes simultaneously:
<mattip> YannickJadoul: like this script for numpy https://github.com/numpy/numpy/blob/master/tools/pypy-test.sh#L29
<antocuni> 1. comment out "from pickle import Pickler" in cpyext/moduledef.py
<antocuni> 2. comment out "preload_builtins" in test_cpyext.py:LeakCheckigTest (because it trigger "import types", I think)
<antocuni> 3. use _dummy_importlib intead of _frozen_importlib
<mattip> is there a way to to (1) differently or avoid it in "not runappdirect", and do it only for pickle tests?
<antocuni> I think that the proper way would be to do the change inside pickle.py itself
<mattip> with an "if config.with_cpyext" or so
<antocuni> and for (2), probably we can find a way to get types.FunctionType etc without having to do the full "import types", which on py3k triggers the import of e.g functools and collections.abc :(
<antocuni> mattip: where do you want to put "if config.with_cpyext"?
<mattip> pypy/module/_pickle_support
<YannickJadoul> mattip: Thanks! I'm trying to test it out on the cibuildwheel PR that will soon add PyPy, though. So I probably need to fork the manylinux repo
<antocuni> mattip: yes, or maybe directly inside pickle.py, probably with a "try: import cpyext" guard
<mattip> YannickJadoul: what about Dockerfile that starts "FROM quay.io/pypa/manylinux2010_x86_64:latest"
<mattip> antocuni: somehow mixing cpyext and lib-python leaves a bad taste, but I did it in datetime.py as well :(
Rhy0lite has joined #pypy
<antocuni> I agree, but on the other hand also the current code in cpyext.Module.startup looks like a hack, since it changes the global state of another module :(
ronan has joined #pypy
adamholmberg has joined #pypy
<mattip> I think the code in cpyext.Module.startup looks like the code in pypy/module/_pickle_support/maker.py, but I am not sure
<antocuni> mattip: I don't think so. It seems that maker.py is about unpickling, while Pickler.dispatch is about pickling
<YannickJadoul> mattip: Yes, I'll probably do that, and add 7.3.0rc3 to it. Just curious if there was a shortcut :-)
<mattip> antocuni: ahh, right
<antocuni> ok, this is even weirder. So, if I apply only (1) and (2) in the py3.6 branch, running a single test still takes ~55s
<antocuni> if I apply (1) and (2) in the dummy-importlib2 branch BUT I disable _dummy_importlib, it takes ~24s
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/4792 [mattip: force build, release-pypy3.6-v7.x]
infernix has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-s390x/builds/1430 [mattip: force build, release-pypy3.6-v7.x]
<kenaan> cfbolz py3.7 53d92a0bd2cd /: merge py3.6
<kenaan> cfbolz py3.7 f9a14309d6d1 /: start implementing PEP-0567 Python code is taken from there, pure Python apart from two functions in __pypy__ to re...
<YannickJadoul> mattip: Seems that worked: https://github.com/joerick/cibuildwheel/pull/185 :-) Thanks!
<mattip> +1
<kenaan> cfbolz py3.7 4f0d7c92cfdd /: pure python HAMT immutable dict implementation from the immutables package taken from rev 11863b29e3fbcd7d25335befc...
<kenaan> cfbolz py3.7 4f3a9b9e4db1 /lib_pypy/_contextvars.py: use the _immutable_map.Map implementation in the _contextvars module
<kenaan> mattip release-pypy2.7-v7.x 724f1a7d62e8 /: merge default into release
<kenaan> mattip default 0e6c068722c0 /.hgtags: Added tag release-pypy3.6-v7.3.0rc4 for changeset 1608da62bfc7
<kenaan> mattip default 16369979c2f9 /.hgtags: Added tag release-pypy2.7-v7.3.0rc4 for changeset 724f1a7d62e8
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/6838 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7905 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-win-x86-32/builds/2218 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-s390x/builds/1431 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-aarch64/builds/261 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/5618 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/6686 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/4793 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-32/builds/255 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/258 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/rpython-win-x86-32/builds/226 [mattip: force build, release-pypy2.7-v7.x]
pepesza has quit [Read error: Connection reset by peer]
jcea has joined #pypy
<ronan> antocuni: SpaceCompiler.load_module() uses imp.load_dynamic(), which is slow, on py3.6
<antocuni> ronan: yes, I discovered it RIGHT NOW
<antocuni> I was about to write a message about that but you beated me by 0.5 seconds :)
<ronan> :-P
<antocuni> ronan: actually, I managed to make things fast-ish with this: http://paste.openstack.org/show/787866/
<antocuni> there is no need to go through imp, because it ends up calling create_extension_module anyway
<antocuni> so, at the end of the day, when I avoid importing "imp", "types" and "pickle", running a cpyext test takes ~23s, only 3s more than on default
<antocuni> more generally speaking, I wonder whether we should try harder to avoid importing modules from lib-python during tests
<antocuni> like, disabling it by default unless you enable an option
<antocuni> although the problem is that certain things like encodings needs to be imported anyway :(
<ronan> yes, inadvertently importing from the stdlib is the cause of a lot of avoidable slowdowns
<antocuni> how essential is to import "encodings"?
<antocuni> can we think of writing an inter-level fake replacement for tests which don't need weird encodings?
<ronan> I'm not sure
<ronan> some encodings have interp-level implementations
<ronan> but IIRC, the encodings module is needed on windows
<antocuni> well, speeding up tests on linux would be already very good :)
<ronan> yes
<ronan> I think CPython have also added hacks recently to avoid importing encodings
<Alex_Gaynor> (SpaceCompiler is such a cool name)
<antocuni> ronan: why? For performance as well?
<ronan> yes
<antocuni> Alex_Gaynor: somehow I think of it as a compiler whose source language consists only of whitespaces :)
<antocuni> how good is mercurial at handling cherry-picking across branches? If I develop some code against py3.6, then I cherry-pick to default, will we have problems at the next merge?
<ronan> usually, it's fine, but I typically do a merge from default to py3.6 immediately after pushing both commits just to be sure
<ronan> btw, CPython have added an "optimisation" to bypass importlib in common cases in 3.6
<antocuni> :facepalm:
<antocuni> so basically, first they moved a lot of logic to applevel, then now they are undoing it one piece at a time?
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/6838 [mattip: force build, release-pypy2.7-v7.x]
<ronan> ¯\_(ツ)_/¯
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-s390x/builds/1431 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7905 [mattip: force build, release-pypy2.7-v7.x]
<Alex_Gaynor> antocuni: I obviously think of a compiler you use in outer space :P
altendky has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/258 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/259 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Success: http://buildbot.pypy.org/builders/rpython-linux-x86-32/builds/255 [mattip: force build, release-pypy2.7-v7.x]
YannickJadoul has quit [Quit: Leaving]
infernix has quit [Ping timeout: 245 seconds]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/5618 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/258 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5042 [mattip: force build, release-pypy3.6-v7.x]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5043 [mattip: force build, release-pypy2.7-v7.x]
jvesely has quit [Quit: jvesely]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/6686 [mattip: force build, release-pypy2.7-v7.x]
<antocuni> I wonder why kenaan never shows my commits...
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7906 [antocuni: force build, cpyext-speedup-tests]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-aarch64/builds/261 [mattip: force build, release-pypy2.7-v7.x]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/4793 [mattip: force build, release-pypy2.7-v7.x]
<mattip> I think I am going to release these builds as the final release.
<mattip> There is not alot of feedback on the rc process, and I tried out what people told me fails: tk/tcl and the scipy build
agates[m] has quit [Quit: killed]
bendlas has quit [Quit: killed]
extraymond[m] has quit [Quit: killed]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7906 [antocuni: force build, cpyext-speedup-tests]
<antocuni> mattip: sorry for the scarce feedback about the rc process :(
ronan has quit [Remote host closed the connection]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7907 [antocuni: force build, cpyext-speedup-tests]
<kenaan> antocuni cpyext-speedup-tests 7171a0719fdb /pypy/module/cpyext/test/test_cpyext.py: missing import
<tumbleweed> I prepared rc2 debian packages, but I didn't test build on all architectures
<mattip> tumbleweed: rc2 was a bust anyway. Does your test build also run some basic tests?
<tumbleweed> yeah, but there are always failures, so I basically ignore them, and just skim results for anything interesting
<mattip> hmm. So maybe I should give this rc4 a little time to settle?
<tumbleweed> naah
<mattip> I checked that I can run a small tk app on Ubuntu 18.04 (on default, then merged those changes to the releases
<mattip> we can always do 7.3.1 if there is a catastrophe
<tumbleweed> exactly
ronan has joined #pypy
Ai9zO5AP has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-win-x86-32/builds/2218 [mattip: force build, release-pypy2.7-v7.x]
adamholmberg has quit [Remote host closed the connection]
<kenaan> antocuni cpyext-speedup-tests 64ffef8c26a7 /pypy/module/cpyext/test/test_cpyext.py: use __code__ to be reduce the diff with py3.6
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7907 [antocuni: force build, cpyext-speedup-tests]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7908 [antocuni: force build, cpyext-speedup-tests-py36]
<kenaan> antocuni cpyext-speedup-tests c420cfb6c3d4 /: close branch to be merged
<kenaan> antocuni default 3bb3cd0a3643 /: merge this branch to speedup cpyext tests, especially on py3.6
<mattip> antocuni: does it do anything for pypy2, or only speeds up pypy3 ?
agates[m] has joined #pypy
extraymond[m] has joined #pypy
bendlas has joined #pypy
edd[m] has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7908 [antocuni: force build, cpyext-speedup-tests-py36]
ronan has quit [Ping timeout: 260 seconds]
infernix has joined #pypy
infernix has quit [Ping timeout: 252 seconds]
<arigato> mattip: I checked that pypy3 runs on Windows, but as I have no code on windows on python3 that means extremely minimal testing
<mattip> thanks
<arigato> and "pypy3 -m test" fails a lot
<arigato> but that's kind of expected I think
<mattip> still waiting for someone with a checkbook to complain that they expected it to work
<mattip> win32consoleio branch needs to be finished for things to start working
<mattip> for instance
Rhy0lite has quit [Quit: Leaving]
infernix has joined #pypy
Arfrever has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/rpython-win-x86-32/builds/226 [mattip: force build, release-pypy2.7-v7.x]
lazka has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-aarch64/builds/259 [mattip: force build, release-pypy2.7-v7.x]
* lazka runs some test suites on Windows
* lazka filed some bugs
<mattip> lazka: are those from a real project?
xcm is now known as Guest72774
Guest72774 has quit [Killed (orwell.freenode.net (Nickname regained by services))]
<mattip> thanks for the reports
<lazka> mattip, these are from the test suites of two of my projects (mutagen and senf)
xcm has joined #pypy
<mattip> :(
<mattip> there are mp3 formats with utf16 strings?
<lazka> mattip, its metadata can be in utf-16, but the encoding errors were from ctypes code interfacing with Windows API
lazka has quit [Quit: Leaving]
<kenaan> mattip default f41af980342f /pypy/: tweak release note for last-minute addition
<kenaan> mattip default a433ce7a9e4e /.hgtags: Added tag release-pypy2.7-v7.3.0 for changeset 724f1a7d62e8
<kenaan> mattip default 430e63a88300 /.hgtags: Added tag release-pypy3.6-v7.3.0 for changeset 1608da62bfc7
commandoline_ has quit [Ping timeout: 250 seconds]
commandoline has joined #pypy
<mattip> arigato: whe you have some time could you trigger the ppc64, ppc64le builds on the release?
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5043 [mattip: force build, release-pypy2.7-v7.x]