antocuni changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "PyPy: the Gradual Reduction of Magic (tm)"
<njs> fyi -- I was just talking to Matt Rocklin about dask, which is a popular library for doing distributed (multi-core, multi-machine) data processing, supported by Anaconda (formerly known as Continuum). It has a central scheduler process that's becoming a bottleneck, and they're trying to figure out how to speed it up. The interesting thing is that it's basically just a pure-Python tornado app using regular Python objects and such, so I asked if he'd tried
<njs> PyPy, and he said that he had, and actually it was slower than CPython and he didn't know why.
<njs> so I suggested that he get in touch because it seems like something that you might want to look into :-)
<njs> I guess this is the issue though it doesn't report his pypy results: https://github.com/dask/distributed/issues/854
lritter_ has quit [Ping timeout: 248 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lritter_ has joined #pypy
<antocuni> njs: I quickly looked at the issue, but there is not much info there; I suppose one should really try to run the benchmark on pypy and look at the code
<njs> antocuni: yeah, I don't have any more detail currently
<njs> antocuni: I guess you could post there and ask for his benchmarks :-)
<antocuni> but e.g., if they try to compare pypy and cython like this, they are very likely to be misled: https://github.com/dask/distributed/issues/854#issuecomment-279184558
<antocuni> njs: yes, apart that I'm not sure I want yet another task to do :)
<fijal> I can have another task to do
tbodt has joined #pypy
yuyichao_ has quit [Ping timeout: 248 seconds]
<njs> antocuni: I don't think that's representative of what he's doing; he said that he has some whole-program scheduling benchmarks he tried to run until pypy performance seemed to flatten out, and the place where it flattened out was slightly slower than CPython
yuyichao_ has joined #pypy
<fijal> njs: does it not use numpy?
<fijal> njs: btw, where are you right now?
<njs> fijal: the scheduler process does not use numpy
<njs> fijal: it's scheduler/workers architecture; the workers use numpy or whatever, but the scheduler doesn't, and they're separate processes so you can pick cpython/pypy separately for each
<njs> fijal: and berkeley
<fijal> there is an off chance we might swing through berkeley tomorrow
<njs> oh huh, I didn't know you were in this hemisphere :-)
<fijal> a bit on the busy side of things, but we have tomorrow off
<njs> it's a holiday here, and I'm free all afternoon
<fijal> Original error was: unable to load extension module '/Users/dev/.virtualenvs/pypy-utf8/site-packages/numpy/core/multiarray.pypy-41.so': dlopen(/Users/dev/.virtualenvs/pypy-utf8/site-packages/numpy/core/multiarray.pypy-41.so, 6): Symbol not found: _PyPyBool_Type
<fijal> wtf is that?
<antocuni> maybe you used a wheel compiled for a previous version of numpy?
<antocuni> njs: ok, thanks
eregon has joined #pypy
marr has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
slackyy has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<fijal> antocuni: I don't know
<fijal> how do I check?
tbodt has joined #pypy
tbodt has quit [Client Quit]
antocuni has quit [Ping timeout: 248 seconds]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/3409 [mattb: add libffi to pkgconfig path]
squeaky_pl has quit [Ping timeout: 268 seconds]
Thinh has quit [Quit: Bye!]
tbodt has joined #pypy
Thinh has joined #pypy
songww has joined #pypy
asmeurer has joined #pypy
Thinh_ has joined #pypy
jcea has quit [Quit: jcea]
Thinh has quit [Ping timeout: 268 seconds]
Thinh_ is now known as Thinh
ssbr has quit [Ping timeout: 246 seconds]
pilne has quit [Quit: Quitting!]
ArneBab has joined #pypy
ArneBab_ has quit [Ping timeout: 264 seconds]
jamesaxl has quit [Ping timeout: 248 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lritter__ has joined #pypy
lritter_ has quit [Ping timeout: 248 seconds]
asmeurer has quit [Quit: asmeurer]
asmeurer has joined #pypy
_whitelogger has joined #pypy
asmeurer has quit [Quit: asmeurer]
asmeurer has joined #pypy
asmeurer has quit [Client Quit]
asmeurer_ has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
<mattip> fijal: (for the logs) that is a strange error message, the symbol should be PyPyBool_Type, with no leading underline
<mattip> fijal (for the logs): nm --dynamic <path-to-pypy-bin>/libpypy-c.so |grep Bool_Type
<mattip> where did you get the wheel?
asmeurer_ has joined #pypy
tbodt has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 248 seconds]
ssbr has joined #pypy
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
songww has quit [Remote host closed the connection]
songww has joined #pypy
zmt00 has quit [Ping timeout: 268 seconds]
cstratak has joined #pypy
antocuni has joined #pypy
squeaky_pl has joined #pypy
<njs> BTW, since Matt is here and works on product for parallelizing data analysis in Python I also just asked him what he thought of the GIL removal stuff, and he said no-one cares, the current situation is actually totally fine for all his users/customers. So... FWIW.
<njs> (basically because numpy/pandas/etc. drop the GIL in their core loops, so up to like ~4-way multi-threaded parallelism works fine, and beyond that they just run more processes, since they already have to handle that to distribute over machines)
lritter__ has quit [Ping timeout: 248 seconds]
raynold has quit [Quit: Connection closed for inactivity]
<mattip> njs: thanks, that is another data point in the apparent dissonance between what developers think is an interesting, solvable, and wothwhile problem
<mattip> and how the users actually view the world
<mattip> maybe worth a blog post or lightning talk
<mattip> "The GIL-less ship has sailed, and the GIL is still on it"
songww has quit [Remote host closed the connection]
songww has joined #pypy
songww has quit [Remote host closed the connection]
songww has joined #pypy
songww has quit [Remote host closed the connection]
<Rotonen> also one can do a lot with architecting the processing pipeline so you do not have to muck with data in-place so you can use shared memory arrays from multiprocessing
songww has joined #pypy
<njs> I suspect there are other cases where GIL removal would be very helpful. Especially in cases where currently PyPy is prohibitive due to the JIT's memory overhead * the number of worker processes, like single-threaded web apps
asmeurer_ has quit [Quit: asmeurer_]
<mattip> njs: I have a pull request for nditer as a context manager almost ready, I think it also addresses the c-level issues you brought up
squeaky_pl has quit [Read error: Connection reset by peer]
<njs> mattip: did you see my mailing list post from like... 5 minutes ago?
<mattip> yes, but it seems we are pretty much alone there, so I would prefer to have a lasting exchange on the github issue rather than in mail
<njs> not sure what you mean about lasting? that mailing list has lasted longer than github so far :-)
<njs> in any case I am asleep on my feet and falling over now. g'night
oberstet has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
papanik has joined #pypy
jcea has joined #pypy
raynold has joined #pypy
songww has quit [Read error: Connection reset by peer]
kolko has joined #pypy
Rhy0lite has joined #pypy
antocuni has joined #pypy
jamadden has joined #pypy
marr has joined #pypy
marr has quit [Remote host closed the connection]
marr has joined #pypy
yuyichao_ has quit [Ping timeout: 268 seconds]
mattip has left #pypy ["bye"]
yuyichao_ has joined #pypy
adamholmberg has joined #pypy
jamadden has quit [Quit: Leaving.]
jamadden has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
<fijal> njs: Im with you
<fijal> I think the JIT memory issues can be solved somehow else and this is our next big quest
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<antocuni> vmprof tests seems to be very fragile
<antocuni> I am getting CI errors on windows and mac and I don't know whether I actually broke something or they fail for unrelated reasons
<fijal> antocuni: it also seems not to be working
<fijal> antocuni: we got yesterday overwriting of file contents
<antocuni> like, the released vmprof?
<fijal> yeah
<fijal> in some circumstances
<antocuni> is it reproducible?
<fijal> it works in simple cases, I'm not sure why it does not work
<fijal> yes, but I don't have the code
<fijal> very reproducible
<antocuni> and the observable result is what? A corrupted file?
<fijal> forwarded you the mail
<fijal> yeah
<antocuni> thanks
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<antocuni> fijal: about profiling gevent/eventlet
<fijal> yeah
<antocuni> I am thinking of using e.g. the eventlet trace hook to be notified at every switch
<antocuni> at every switch, I record a stack sample of the greenlet being paused
<antocuni> and write to the profile with a special "paused" marker
<antocuni> then the rest goes as usual
<antocuni> when we analyze the profile, we can keep track of paused greenlets, and add a +1 to all of those when we see a "non-blocked" stack sample
<antocuni> this way we can know that while we are running greenlet a, greenlets b and c were blocked at this specific point
<antocuni> and e.g. display it in grey in the web UI
kolko has quit [Quit: ZNC - http://znc.in]
<fijal> njs: you awake?
slackyyy has joined #pypy
marr has quit [Read error: Connection reset by peer]
marr has joined #pypy
slackyy has quit [Ping timeout: 248 seconds]
<antocuni> can anyone give me access to a mac machine where to debug vmprof?
kolko has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
raynold has joined #pypy
zmt00 has joined #pypy
jcea has quit [Quit: jcea]
marky1991 has joined #pypy
oberstet has quit [Ping timeout: 268 seconds]
oberstet has joined #pypy
asmeurer_ has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
asmeurer_ has quit [Ping timeout: 248 seconds]
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
asmeurer has joined #pypy
tormoz has quit [Ping timeout: 258 seconds]
antocuni has quit [Ping timeout: 268 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
asmeurer has quit [Quit: asmeurer]
tormoz has joined #pypy
cstratak has quit [Quit: Leaving]
Rhy0lite has quit [Quit: Leaving]
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drolando has joined #pypy
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
slackyyy has quit [Ping timeout: 240 seconds]
adamholm_ has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Connection reset by peer]
drolando has quit [Ping timeout: 248 seconds]
drolando has joined #pypy
adamholmberg has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 250 seconds]
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
drolando has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pilne has joined #pypy
tbodt has joined #pypy
demonimin has quit [Remote host closed the connection]
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Client Quit]
lritter__ has joined #pypy
adamholm_ has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
nunatak has joined #pypy
nunatak has quit [Quit: Leaving]
inhahe_ has quit [Ping timeout: 240 seconds]
inhahe_ has joined #pypy
_main_ has joined #pypy
_main_ has quit [Read error: Connection reset by peer]
_main_ has joined #pypy
__main__ has quit [Read error: Connection reset by peer]
_main_ has quit [Read error: Connection reset by peer]
__main__ has joined #pypy
__main__ has quit [Read error: Connection reset by peer]
__main__ has joined #pypy