cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "nothing compares to the timeshifter, my personal polar expedition in software" - pedronis
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 246 seconds]
andenixa has joined #pypy
<andenixa> hello ppy2 (5x) is unable to compile scandir under windows
<andenixa> asking for dirent.h (I assume it should not happen under MS WIndows at all)
asmeurer_ has quit [Quit: asmeurer_]
Garen has quit [Read error: Connection reset by peer]
Garen has joined #pypy
asmeurer__ has joined #pypy
Garen_ has joined #pypy
Garen has quit [Ping timeout: 248 seconds]
andenixa has quit [Quit: ChatZilla 0.9.93 [Firefox 53.0.3/20170518000419]]
asmeurer__ has quit [Quit: asmeurer__]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
marr has quit [Ping timeout: 258 seconds]
_whitelogger has joined #pypy
ArneBab_ has joined #pypy
rokujyouhitoma has joined #pypy
ArneBab has quit [Ping timeout: 258 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
Garen_ has quit [Read error: Connection reset by peer]
Garen has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
asmeurer has joined #pypy
_whitelogger has joined #pypy
rokujyouhitoma has joined #pypy
<kenaan_> mattip py3.5 45a53b73bc90 /: more places where pypy3-c -> pypy3-c3.exe on win32, maybe refactor?
rokujyouhitoma has quit [Ping timeout: 258 seconds]
Garen has quit [Read error: Connection reset by peer]
Garen has joined #pypy
rokujyouhitoma has joined #pypy
asmeurer has quit [Quit: asmeurer]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<mattip> andenixa: (if you come back) we are mostly European time zone, and more info needed. What exactly are you trying to do
mattip has left #pypy ["bye"]
lritter has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
jacob22_ has joined #pypy
jacob22 has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
_whitelogger has joined #pypy
arigato has joined #pypy
_whitelogger has joined #pypy
<kenaan_> arigo len_w 03c40bf2a144 /pypy/module/_cffi_backend/: Update to cffi/a60ae346a78f
<kenaan_> arigo default 27fc762dfc31 /pypy/module/_cffi_backend/: Update to cffi/a60ae346a78f
forgottenone has joined #pypy
rokujyouhitoma has joined #pypy
arigato has quit [Ping timeout: 260 seconds]
arigato has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
asmeurer_ has quit [Quit: asmeurer_]
marr has joined #pypy
arigato has quit [Quit: Leaving]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
antocuni has joined #pypy
antocuni has quit [Ping timeout: 258 seconds]
jerith has quit [Quit: leaving]
rokujyouhitoma has joined #pypy
TheAdversary has quit [Disconnected by services]
TheAdversary has joined #pypy
rokujyouhitoma has quit [Ping timeout: 258 seconds]
forgottenone has quit [Quit: Konversation terminated!]
forgottenone has joined #pypy
ronan has joined #pypy
jerith has joined #pypy
ronan has quit [Quit: Ex-Chat]
ronan has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
oberstet has joined #pypy
arigato has joined #pypy
antocuni has joined #pypy
antocuni has quit [Ping timeout: 248 seconds]
amaury has joined #pypy
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
rokujyouhitoma has joined #pypy
arigato has quit [Ping timeout: 248 seconds]
rokujyouhitoma has quit [Ping timeout: 246 seconds]
amaury has quit [Ping timeout: 248 seconds]
<kenaan_> rlamy py3.5 ba1da1c2d9a3 /pypy/: (arigo, ronan) 'Fix' subclass checking when the subclass doesn't have an MRO yet, cf. CPython issue #22735
<kenaan_> rlamy py3.5 2bf99e3d5873 /: Merge heads
ronan has quit [Ping timeout: 258 seconds]
oberstet has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
the_drow has quit [Ping timeout: 258 seconds]
the_drow has joined #pypy
rokujyouhitoma has joined #pypy
ronan has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
antocuni has joined #pypy
arigato has joined #pypy
forgottenone has quit [Quit: Konversation terminated!]
forgottenone has joined #pypy
arigato has quit [Ping timeout: 240 seconds]
forgottenone has quit [Quit: Konversation terminated!]
arigato has joined #pypy
forgottenone has joined #pypy
forgottenone has quit [Client Quit]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4236 [antocuni: force build, cpyext-jit]
forgottenone has joined #pypy
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/4960 [antocuni: force build, cpyext-jit]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6263 [antocuni: force build, cpyext-jit]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5476 [antocuni: force build, cpyext-jit]
<kenaan_> rlamy default a390ace21a3c /pypy/module/cpyext/typeobject.py: Clean up update_all_slots() a bit
forgottenone has quit [Client Quit]
forgottenone has joined #pypy
arigato has quit [Ping timeout: 258 seconds]
forgottenone has quit [Quit: Konversation terminated!]
forgottenone has joined #pypy
forgottenone has quit [Client Quit]
forgottenone has joined #pypy
<kenaan_> rlamy default d4810ff5fe4b /pypy/module/cpyext/: Move get_slot_tp_function from slotdefs to typeobject
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
yuyichao_ has quit [Quit: Konversation terminated!]
forgottenone has quit [Quit: Konversation terminated!]
forgottenone has joined #pypy
<kenaan_> antocuni cpyext-avoid-roundtrip 87f91d94662e /: (arigo, antocuni): start a branch where to try to avoid RPython->C->RPython->C roundtrips when we...
<kenaan_> antocuni cpyext-avoid-roundtrip 730786d85e6f /pypy/module/cpyext/: (antocuni, arigo, ronan): rewrite Py_DecRef in C
ronan has quit [Read error: No route to host]
arigato has joined #pypy
ronan has joined #pypy
antocuni has quit [Ping timeout: 248 seconds]
<kenaan_> arigo cpyext-avoid-roundtrip 6046c5c9f4c2 /pypy/module/cpyext/: (antocuni, arigo, ronan around): same with Py_IncRef()
forgottenone has quit [Quit: Konversation terminated!]
forgottenone has joined #pypy
amaury has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<kenaan_> rlamy default b9cc080ea998 /pypy/module/cpyext/typeobject.py: Split update_all_slots()
amaury has quit [Quit: Konversation terminated!]
amaury has joined #pypy
<bbot2> Success: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/4960 [antocuni: force build, cpyext-jit]
ronan has quit [Quit: Ex-Chat]
ronan__ has joined #pypy
yuyichao has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6263 [antocuni: force build, cpyext-jit]
ronan__ has quit [Quit: Ex-Chat]
ronan__ has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5476 [antocuni: force build, cpyext-jit]
<bbot2> Success: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4236 [antocuni: force build, cpyext-jit]
<kenaan_> arigo cpyext-avoid-roundtrip 10f2a25eb826 /pypy/module/cpyext/: (antocuni, ronan, arigo) Work work work until _Py_Dealloc() can be written in C
ronan__ is now known as ronan
rokujyouhitoma has joined #pypy
ronan has quit [Ping timeout: 258 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
ronan has joined #pypy
<kenaan_> arigo cpyext-avoid-roundtrip 804bbd063a8a /pypy/module/cpyext/: (ronan, antocuni, arigo) Small change to prepare the subtype_dealloc() attack
<kenaan_> rlamy default 528a836d1686 /pypy/module/cpyext/typeobject.py: Extract warn_missing_slot()
yuyichao_ has joined #pypy
yuyichao has quit [Ping timeout: 248 seconds]
asmeurer_ has joined #pypy
antocuni has joined #pypy
antocuni has quit [Ping timeout: 246 seconds]
arigato has quit [Ping timeout: 276 seconds]
asmeurer_ has quit [Quit: asmeurer_]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 264 seconds]
forgottenone has quit [Quit: Konversation terminated!]
kipras`away is now known as kipras
forgottenone has joined #pypy
lesshaste has quit [Quit: Leaving]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
raynold has quit [Quit: Connection closed for inactivity]
lritter has quit [Quit: Leaving]
rokujyouhitoma has joined #pypy
forgottenone has quit [Quit: Konversation terminated!]
rokujyouhitoma has quit [Ping timeout: 246 seconds]
antocuni has joined #pypy
<kenaan_> antocuni cpyext-jit b6ca94977ea4 /pypy/doc/whatsnew-head.rst: document and close the branch
<kenaan_> antocuni default 9f9989a1ffe6 /pypy/: merge the cpyext-jit; this makes cpyext calls up to 7x faster in very simple cases, see whatsnew for details
rokujyouhitoma has joined #pypy
<xorAxAx> \o/ is there a sprint going on?
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<xorAxAx> antocuni:
tormoz has quit [Remote host closed the connection]
tormoz has joined #pypy
traverseda_lapto has joined #pypy
<ronan> xorAxAx: yes, we're in Cape Town
<traverseda_lapto> Not sure if this is the right place for help with cffi, but I would like to expose a cpp class to python, inherent from it, and expose the modified class back to the cpp app. Is that reasonable? I don't really understand how cffi deals with objects.
<kenaan_> rlamy refactor-slots d6069a5b0d69 /pypy/module/cpyext/typeobject.py: Split off the builtin case from update_all_slots()
<kenaan_> mattip py3.5 73f012309b3c /pypy/module/posix/interp_posix.py: win32 can run without a console, return None in this case (amaury advising)
<kenaan_> mattip py3.5 6867bc3ac3d1 /: pypy-cw.exe -> pypy-c.exe, cw is the non-console exe (amaury)
<amaury> traverseda_lapto: cffi has not support for C++
<amaury> what you describe can be written with cffi, but with considerable boilerplate code
<traverseda_lapto> amaury, cool, that's more or less what I thought
<njs> cppyy might work better, but in general this sounds like a pretty complicated trick that you might be better off finding a way to avoid
tormoz has quit [Remote host closed the connection]
<traverseda_lapto> njs, that would be reasonable. It's a toy anyway, so I might just not do it...
<traverseda_lapto> I want to write eaglemode widgets in python, and allow for live-editing of widgets and general introspection, but it's... not a high priority.
tormoz has joined #pypy
tormoz has quit [Remote host closed the connection]
mattip has joined #pypy
tormoz has joined #pypy
<mattip> amaury: thanks for the pypy3.5 hints, may I pick your brain about how slow Popen via CreateProcess is on windows?
<amaury> compared to CPython?
<mattip> amaury: the win32 buildbot take s6 hours to run own rpython tests, it seems Popen is to blame for most of that
<amaury> how much RAM is available to the buildbot?
<mattip> lots
rokujyouhitoma has joined #pypy
<mattip> I benchmarked a single test on the win32-slow-tests branch, on my machine
traverseda has joined #pypy
<mattip> running the test_int_mul_ovf rpython\translation\backend test,
<mattip> linux takes 1 sec to compile, 26 ms to run all the test cases,
<mattip> windows takes 8 sec to compile, 3800 msec to run the same tests
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<mattip> same machine, booted into the OS (not a vm)
<mattip> the test runs an exe with jitted code to multiply two integers and catch overflow, checks stdout
<mattip> many times
<mattip> searching a bit aboout CreateProcess and slow, it seems by design windows does much more than a fork,
<mattip> it runs checks on the exe before starting up, antivirus and allows OS hooks
<amaury> ah, could be the reason indeed
<njs> mattip: it won't help with the compilation part, but can you restructure the test harness so it only spawns the exe once and then it runs lots of tests?
<amaury> yes, the .exe needs to be read from disk, then antivirus can trigger
<amaury> njs: I'm sure some of the tests do it this way
<amaury> (but only a few)
<mattip> ok, that's one idea. Any more? would it be reasonable to use os.system which avoids CreateProcess?
<njs> mattip: ...how can os.system avoid CreateProcess? AFAIK CreateProcess is the fundamental primitive for process spawning on Windows
<njs> I guess you could dlopen clang and compile things that way :-)
<mattip> heh
<njs> (sorry I mean LoadLibrary)
<mattip> os.system calls "_wsytem" which opens a cmd and passes the string
<mattip> s/compilation/translation/
<mattip> what takes time at that stage AFAICT is not the compilation itself but the pre-translation stage where it does ~40 platofrm checks
<mattip> each is a compile-run-check cycle
<mattip> anyhow, just wondering if the wider "windows" world ever ran into this and found a work=around close to "fork"
<mattip> closer to
Garen has quit [Read error: Connection reset by peer]
Garen has joined #pypy
<njs> 8 seconds versus 1 seconds to compile seems large for spawn overhead -- is it possible to turn down optimizations or something?
<amaury> LoadLibrary won't help, if the antivirus is the issue
<mattip> maybe I should look into caching results for platform tests in translation startup
<njs> amaury: the idea / joke would be that you LoadLibrary once and then invoke it repeatedly as a function call intsead of spawning a full subprocess
<njs> amaury: I doubt that this is practically useful though
<mattip> njs: it might, but switching to clang would cause all kinds of other pain
* mattip off,
<mattip> thanks for the discussion
mattip has left #pypy ["Leaving"]
<kenaan_> rlamy default d8d0ab3d4484 /pypy/module/cpyext/typeobject.py: Remove unnecessary from_ref() call from subtype_dealloc()
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
rokujyouhitoma has joined #pypy
<kenaan_> amauryfa py3.5 e3aa955289ca /pypy/module/posix/interp_posix.py: On Windows, use GetConsoleCP for stdin.
rokujyouhitoma has quit [Ping timeout: 248 seconds]
arnsholt has quit [Ping timeout: 240 seconds]
arnsholt has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
danieljabailey has quit [Quit: ZNC 1.6.4+deb1 - http://znc.in]
danieljabailey has joined #pypy
<kenaan_> rlamy py3.5 41b2cbb76719 /pypy/: hg merge default
jcea has joined #pypy
raynold has joined #pypy
tormoz has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
tormoz has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
jcea1 has joined #pypy
jcea has quit [Ping timeout: 240 seconds]
jcea1 is now known as jcea
<kenaan_> rlamy default 5c485217dd2c /pypy/module/cpyext/typeobject.py: Split off the builtin case from update_all_slots()
<kenaan_> rlamy default d56dadcef996 /pypy/module/cpyext/slotdefs.py: Fix translation
<kenaan_> rlamy py3.5 4978206b1665 /pypy/module/cpyext/: hg merge default