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"
ceridwen has joined #pypy
tbodt has joined #pypy
marr has quit [Ping timeout: 240 seconds]
utek has quit [Ping timeout: 246 seconds]
utek has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
yuyichao has quit [Remote host closed the connection]
raynold has joined #pypy
yuyichao has joined #pypy
<raynold> ahh it's a wonderful day :D
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
exarkun has quit [Ping timeout: 260 seconds]
exarkun has joined #pypy
kipras is now known as kipras`away
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
yuyichao has quit [Quit: Konversation terminated!]
yuyichao has joined #pypy
tbodt has joined #pypy
tbodt has quit [Client Quit]
yuyichao_ has joined #pypy
yuyichao has quit [Ping timeout: 260 seconds]
yuyichao_ has quit [Quit: Konversation terminated!]
yuyichao has joined #pypy
lritter__ has joined #pypy
rokujyouhitoma has joined #pypy
ArneBab has joined #pypy
lritter_ has quit [Ping timeout: 240 seconds]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
ArneBab_ has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
windy has joined #pypy
<windy> Hi, I have a question on why pypy choose to call_r for some functions but not for some other functions. For example, descr_bit_length (no jit operator) of W_IntObject will show up as call_r(descr_bit_length) in PYPYLOG, but other descr_add/descr_sub will show up as int_add/int_sub
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<windy> Also, I read a bit about rbigint, and found that rbigint.fromint show up in PYPYLog as call_r(ConstClass(fromint), but rbigint._toint_helper is call_i(ConstClass(rbigint._toint_helper). Is there any intuition on this difference? Thanks
<simpson> windy: Those jitcodes usually correspond to only a few assembly instructions. Bit-length isn't an assembly instruction I know of.
<Alex_Gaynor> windy: You get a call() if the RPython function can't be inlined, descr_add/sub on an integer are inlined into the code, so you're left with just the raw int_add/sub operations. The most common reason something isn't inlined is that it contains a loop.
<simpson> call_r and call_i just have different call signatures. There's a call variant for each signature.
<Alex_Gaynor> simpson: There actually is an x86 instruction for computing the number of leading zeros (CLZ) in an integer, but the JIT doesn't know about it
<windy> but according to my experiences call_r is usually faster than call_i. This is just my guess: call_r calls the compiled C code of the function, where call_i calls the interpreter to do some stuff
<simpson> Alex_Gaynor: Oh, TIL.
<Alex_Gaynor> windy: call_r and i are identical, except they have different return types.
<Alex_Gaynor> bit_length could be made faster by splitting out the prologue/epilogue where the integer is unboxed/boxed into a separte function from the loop, so that unboxed ints can stay that way
<windy> Actually it is very fast comparing to the python version .. I copy pasted the code and found that the while loop turned into a bridge, but call_r is just call_r
<windy> thanks Alex for the explanation, would you please expant just a little bit on how the return types are different for call_r and call_i?
<Alex_Gaynor> call_r returns a GC pointer, call_i returns an integer
<windy> oh, so this means that call_r returns a box just like space.newint(whatever)
<windy> interesting, I was totally wrong ... Thanks Alex!
lritter__ has quit [Quit: Leaving]
exarkun has quit [Ping timeout: 252 seconds]
exarkun has joined #pypy
<windy> wait a minute .. If bit_length is indeed inlined, then the while loop should become a bridge in the trace so that would match python code performance then?
jcea has quit [Quit: jcea]
rokujyouhitoma has joined #pypy
windy has quit [Quit: Page closed]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
tilgovi has joined #pypy
pilne has quit [Ping timeout: 240 seconds]
pilne has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 252 seconds]
chelz has joined #pypy
forgottenone has joined #pypy
exarkun has quit [Ping timeout: 248 seconds]
exarkun has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
forgottenone has quit [Quit: Konversation terminated!]
tilgovi has quit [Ping timeout: 246 seconds]
jamesaxl has joined #pypy
rokujyouhitoma has joined #pypy
ArneBab has quit [Remote host closed the connection]
exarkun has quit [Ping timeout: 248 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
ArneBab has joined #pypy
dw has quit [Read error: Connection reset by peer]
dw has joined #pypy
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
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jacob22_ has joined #pypy
rokujyouhitoma has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
vkirilichev has joined #pypy
rokujyouhitoma has quit [Ping timeout: 246 seconds]
pilne has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
<cfbolz> windy: it's not safe to inline a function into the trace that has a loop
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
vkirilichev has quit [Remote host closed the connection]
rokujyouhitoma has quit [Remote host closed the connection]
vkirilichev has joined #pypy
exarkun has quit [Ping timeout: 252 seconds]
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
exarkun has joined #pypy
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
vkirilichev has quit [Remote host closed the connection]
marr has joined #pypy
antocuni has joined #pypy
yuyichao has quit [Remote host closed the connection]
vkirilichev has joined #pypy
<kenaan> arigo default e9c0dff56c4c /pypy/doc/build.rst: PR #565, originally by splasky Add Ubuntu 17.04 (and likely Debian) build time dependencies
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
<kenaan> arigo nogil-unsafe-2 4698de95c523 /rpython/: Rename the operation to reflect the readonly-ness
hawkowl has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
vkirilichev has quit [Remote host closed the connection]
exarkun has quit [Ping timeout: 246 seconds]
exarkun has joined #pypy
yuyichao has joined #pypy
vkirilichev has joined #pypy
oberstet has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
antocuni has quit [Ping timeout: 246 seconds]
jamesaxl has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
_whitelogger has joined #pypy
kolko has quit [Quit: ZNC - http://znc.in]
kolko has joined #pypy
vkirilichev has joined #pypy
rokujyouhitoma has joined #pypy
forgottenone has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
hawkowl has joined #pypy
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
rokujyouhitoma has quit [Remote host closed the connection]
jamesaxl has joined #pypy
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
rubdos has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
rubdos has quit [Ping timeout: 246 seconds]
rubdos has joined #pypy
rubdos has quit [Ping timeout: 240 seconds]
rubdos has joined #pypy
jcea has joined #pypy
rubdos has quit [Ping timeout: 246 seconds]
raynold has quit [Quit: Connection closed for inactivity]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
pilne has joined #pypy
kipras`away is now known as kipras
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
kolko has quit [Quit: ZNC - http://znc.in]
kolko has joined #pypy
kolko has quit [Quit: ZNC - http://znc.in]
kolko has joined #pypy
lritter has joined #pypy
rubdos has joined #pypy
rubdos has quit [Ping timeout: 264 seconds]
rubdos has joined #pypy
rokujyouhitoma has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
jamesaxl has joined #pypy
raynold has joined #pypy
yuyichao has quit [Ping timeout: 252 seconds]
yuyichao has joined #pypy
yuyichao has quit [Client Quit]
yuyichao has joined #pypy
yuyichao has quit [Remote host closed the connection]
yuyichao has joined #pypy
yuyichao has quit [Remote host closed the connection]
yuyichao has joined #pypy
yuyichao has quit [Client Quit]
yuyichao has joined #pypy
rubdos has quit [Quit: WeeChat 1.9]
yuyichao_ has joined #pypy
yuyichao has quit [Ping timeout: 260 seconds]
yuyichao_ has quit [Client Quit]
rubdos has joined #pypy
yuyichao has joined #pypy
rubdos has quit [Ping timeout: 255 seconds]
rubdos has joined #pypy
rokujyouhitoma has joined #pypy
pilne has quit [Remote host closed the connection]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
pilne has joined #pypy
yuyichao_ has joined #pypy
yuyichao has quit [Ping timeout: 240 seconds]
tilgovi has joined #pypy
rokujyouhitoma has joined #pypy
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
tilgovi has quit [Ping timeout: 240 seconds]
jamesaxl has quit [Quit: WeeChat 1.8]
rokujyouhitoma has joined #pypy
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (orwell.freenode.net (Nickname regained by services))]
rokujyouhitoma has quit [Ping timeout: 252 seconds]
mattip has quit [Ping timeout: 240 seconds]
mattip has joined #pypy
kolko has quit [Read error: Connection reset by peer]
kolko has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
ceridwen has quit [Ping timeout: 246 seconds]
tbodt has joined #pypy
jacob22_ has quit [Ping timeout: 252 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
oberstet has quit [Ping timeout: 252 seconds]
forgottenone has quit [Quit: Konversation terminated!]
marky1991 has joined #pypy
Yardanico has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
marky1991 has quit [Ping timeout: 248 seconds]
cwillu has quit [Remote host closed the connection]
vkirilichev has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
ronan has quit [Ping timeout: 255 seconds]
ronan has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rokujyouhitoma has joined #pypy
Yardanico has quit [Read error: Connection reset by peer]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
vkirilichev has joined #pypy