cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "the modern world where network packets and compiler optimizations are effectively hostile"
asmeurer_ has joined #pypy
yuyichao has quit [Read error: Connection reset by peer]
yuyichao has joined #pypy
marr has quit [Ping timeout: 240 seconds]
pilne has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 255 seconds]
gclawes has quit [Ping timeout: 240 seconds]
tbodt has quit [Read error: Connection reset by peer]
gclawes has joined #pypy
tbodt has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
asmeurer_ has quit [Quit: asmeurer_]
Garen has joined #pypy
rokujyouhitoma has joined #pypy
ArneBab_ has joined #pypy
kawing-chiu has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
ArneBab has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<kawing-chiu> njs: could you elaborate a bit on numpy's weird needs? I'm curious on it.
<njs> it uses a lot of Python C APIs to efficiently interact with the interpreter, it defines types in C, ...
<njs> so like, for example, on my laptop, if x = np.float32(1), then x + x takes <80 ns on cpython
<njs> OTOH if you have a type defined in Python, 'class Float32: def __add__(self, other): return Float32()', then the fastest possible x + x is ~300 ns on CPython
<Alex_Gaynor> (gosh, adding two floats in anything more than like... 1ns sounds like too much)
<njs> (of course pypy is different, but no-one's going to accept a 3x slowdown on cpython)
<njs> Alex_Gaynor: yeah, it's all boxing/unboxing overhead
<njs> Alex_Gaynor: numpy is too slow actually, python manages to do it in ~10 ns
<Alex_Gaynor> njs: Python doesn't pay the dynamic dispatch overhead because there's a special case in ceval, although that might be integer only now that I think about it.
<njs> Alex_Gaynor: I don't think so? I think the only special case is for the str += str hack
<Alex_Gaynor> njs: ah, it has a special case for ints on 2.7, but not 3.x, probably because on 3.x adding two ints is a fully blown arbitrary precision operation with god knows how many memory reads/writes
<njs> Alex_Gaynor: that or victor decided that that special case wasn't worth it in the first place, judging from the comment in master :-)
<kawing-chiu> So, to make the numpy beast efficient in pypy, inevitably we need to rewrite part of it in pypy(rpython)?
pilne has quit [Quit: Quitting!]
asmeurer_ has joined #pypy
asmeurer_ has quit [Client Quit]
asmeurer_ has joined #pypy
<njs> kawing-chiu: in principle, we might be able to come up with some kind of input language that can be compiled into forms that are efficient on both cpython or pypy
<njs> kawing-chiu: this idea isn't very far developed though
tbodt has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<kawing-chiu> njs: I see. Is cython considered a valid "input language"?
asmeurer_ has quit [Quit: asmeurer_]
asmeurer_ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rokujyouhitoma has joined #pypy
<njs> kawing-chiu: something cython-ish seems like a good bet, yeah
rokujyouhitoma has quit [Ping timeout: 248 seconds]
jamesaxl has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
asmeurer_ has quit [Quit: asmeurer_]
jamesaxl has quit [Ping timeout: 255 seconds]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Ping timeout: 240 seconds]
yuyichao has quit [Ping timeout: 240 seconds]
jamesaxl has joined #pypy
demonimin has quit [Ping timeout: 240 seconds]
demonimin has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<kenaan> cfbolz default 46ce5f43e718 /rpython/jit/backend/x86/regalloc.py: fix comment
yuyichao has joined #pypy
yuyichao has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
yuyichao has joined #pypy
marr has joined #pypy
yuyichao has quit [Read error: Connection reset by peer]
the_drow has joined #pypy
<fijal> njs: for what is worth, it's fighting an uphill battle
<fijal> doing those operations is just TOO SLOW in python
<fijal> this is why cython, numba etc exist
<fijal> so my argument about speed is very different than the argument about semantics
<fijal> it's very hard to express numpy-style-platform-semantics in python
<fijal> (it comes to the same conclusion FYI)
ronan has quit [Ping timeout: 246 seconds]
<njs> fijal: I feel like I missed the beginning of this conversation :-)
<njs> not that there are any shortage of reasons why rewriting numpy as a pure python + cffi library isn't going to happen...
<simpson> Don't you need to figure out f2py too?
<njs> haha oh no f2py
<njs> yes f2py needs a lot of figuring out; there's only one person in the world who can maintain it and he refuses to use git...
<njs> OTOH numpy itself does not actually use f2py, even though it's shipped as part of numpy.
<simpson> ua TIL
<cfbolz> njs: who is that person?
<njs> cfbolz: Pearu Peterson
<cfbolz> right
rokujyouhitoma has joined #pypy
<LarstiQ> hmm, Estonia
rokujyouhitoma has quit [Ping timeout: 240 seconds]
raynold has quit [Quit: Connection closed for inactivity]
kawing-chiu has quit [Quit: Leaving]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 276 seconds]
kolko has joined #pypy
kolko has quit [Read error: Connection reset by peer]
kolko has joined #pypy
marr has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 255 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (rajaniemi.freenode.net (Nickname regained by services))]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
Yardanico has joined #pypy
marr has joined #pypy
marr has quit [Ping timeout: 240 seconds]
<kenaan> arigo default 2a268685e180 /rpython/rtyper/tool/rffi_platform.py: Apply part of PR #546
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<arigato> what is the status of sendmsg/recvmsg in py3.5?
<cfbolz> arigato: it's on a branch, you need to ask Mihai about the status
<cfbolz> I'll talk to him on Tuesday
jamesaxl has quit [Read error: Connection reset by peer]
yuyichao has joined #pypy
jamesaxl has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
pilne has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
cwillu has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
rokujyouhitoma has joined #pypy
gclawes_ has joined #pypy
rokujyouhitoma has quit [Ping timeout: 246 seconds]
gclawes has quit [Ping timeout: 248 seconds]
exarkun has quit [Ping timeout: 255 seconds]
exarkun 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]
asmeurer__ has joined #pypy
rokujyouhitoma has joined #pypy
asmeurer__ has quit [Quit: asmeurer__]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
tilgovi has joined #pypy
tilgovi has quit [Ping timeout: 246 seconds]
tbodt has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
yuyichao has quit [Read error: Connection reset by peer]
yuyichao has joined #pypy
yuyichao has quit [Client Quit]
yuyichao has joined #pypy
* xorAxAx just came across https://github.com/skulpt/skulpt -- python implementation in JS
<nanonyme> xorAxAx, I'm astonished if that's remotely fast
<xorAxAx> nanonyme: its not complete, so the question is a bit irrelevant :-)
<nanonyme> xorAxAx, let me rephrase: I'm astonished if it will be remotely fast when it's fully complete
<xorAxAx> has anybody ever run emscripten on pypy? ;-)
<Yardanico> yes
<simpson> Yeah, it's called "pypy.js" IIRC.
<xorAxAx> ah, just found it
<Yardanico> but it's not maintained
<xorAxAx> hmm, only 12.7 MB
asmeurer__ has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
zware has quit [Ping timeout: 246 seconds]
rokujyouhitoma has joined #pypy
zware has joined #pypy
adamholmberg has quit [Ping timeout: 255 seconds]
rokujyouhitoma has quit [Ping timeout: 255 seconds]
asmeurer__ has quit [Quit: asmeurer__]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
ceridwen has quit [Ping timeout: 246 seconds]
ceridwen has joined #pypy
Yardanico has quit [Remote host closed the connection]
jamesaxl has quit [Quit: WeeChat 1.8]
Tiberium has joined #pypy
Tiberium has quit [Client Quit]
Yardanico has joined #pypy
<mattip> njs: ping
rokujyouhitoma has joined #pypy
marr has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
oberstet has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
ArneBab_ has quit [Ping timeout: 240 seconds]
ArneBab has joined #pypy
ArneBab has joined #pypy
ArneBab has quit [Changing host]
<mattip> njs: maybe later, but you can probably work out why I was pinging you :(
Garen has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 255 seconds]
[Arfrever] has quit [Ping timeout: 240 seconds]
[Arfrever] has joined #pypy
_whitelogger has joined #pypy
raynold has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<raynold> ahh it's a wonderful day :D
Yardanico has quit [Read error: Connection reset by peer]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]