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
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
cloudyplain has quit [Ping timeout: 248 seconds]
adamholmberg has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
marr has quit [Ping timeout: 246 seconds]
vkirilichev 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
vkirilichev has quit [Ping timeout: 240 seconds]
cloudyplain has joined #pypy
cloudyplain has quit [Client Quit]
cloudyplain has joined #pypy
pilne has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
tbodt has quit [Read error: Connection reset by peer]
tbodt has joined #pypy
jwhisnant has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
adamholmberg has quit [Remote host closed the connection]
ArneBab_ has joined #pypy
ArneBab has quit [Ping timeout: 248 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
pilne has quit [Quit: Quitting!]
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
cloudyplain has quit [Ping timeout: 264 seconds]
forgottenone has joined #pypy
vkirilichev has joined #pypy
gclawes_ has joined #pypy
gclawes has quit [Ping timeout: 248 seconds]
vkirilichev has quit [Ping timeout: 240 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
cloudyplain has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cloudyplain has quit [Ping timeout: 240 seconds]
jamesaxl has joined #pypy
cloudyplain has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 255 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 252 seconds]
<mattip> anyone around with a login to the build master? change ad784c41e04a on buildbot should fix failing windows step to remove bookmarks
vkirilichev has joined #pypy
adamholmberg has joined #pypy
vkirilichev has quit [Remote host closed the connection]
adamholmberg has quit [Ping timeout: 240 seconds]
arigato has joined #pypy
<arigato> mattip: restarting buildbot
bbot2 has quit [Quit: buildmaster reconfigured: bot disconnecting]
bbot2 has joined #pypy
<arigato> works, thanks
<arigato> (ronan: there is a translation failure in cpyext)
arigato has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
arigato has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
realitix has joined #pypy
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
forgottenone has quit [Ping timeout: 240 seconds]
cloudyplain has quit [Ping timeout: 248 seconds]
cloudyplain has joined #pypy
vkirilichev has joined #pypy
antocuni_ has joined #pypy
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
vkirilichev has quit [Ping timeout: 260 seconds]
<DRMacIver> How much of a performance impact is settrace(None) likely to have if gettrace() is already None? I see it's marked as @jit.dont_look_inside but I don't actually know the implications of that
<DRMacIver> I'm assuming this means that calling it in this context would defeat some optimisations.
<mattip> ronan: (also in something I did, fixing both)
<DRMacIver> Context: I have some code that basically does "t = sys.gettrace(); sys.settrace(None); do_stuff(); sys.settrace(t)" and am wondering if it's a worthwhile optimisation to check if t is None (which will be the common path) and not call sys.settrace() in that context.
<arigato> DRMacIver: likely, but only if that's very hot code
<DRMacIver> It's pretty hot
<DRMacIver> It's basically the main function that Hypothesis calls repeatedly inside its data generation
<DRMacIver> Expected thousands-ish calls per test.
<DRMacIver> (that's the whole test function, not per example)
<arigato> try and measure, I guess
<DRMacIver> Yeah, fair enough
rokujyouhitoma has joined #pypy
<arigato> @jit.dont_look_inside means the JIT compiles the call as a CALL assembler instruction, instead of inlining the content
<arigato> it should have much impact here
<arigato> you need many millions per second before noticing
<arigato> it *shouldn't* have much impact here
<DRMacIver> Yeah I was less worried about the call being slow and more about it defeating other optimisations/inlining
rokujyouhitoma has quit [Ping timeout: 240 seconds]
<arigato> not really. the call is marked as "can do crazy things" because of force_all_frames(), but it's just one check after the CALL, and if there is never any trace function it will always pass
<DRMacIver> Fair enough
<DRMacIver> Ah, I just realised this path is way less hot than I thought it was anyway.
<DRMacIver> Because although this function is called 1000-ish times a lot of those are recursive calls and it doesn't get hit on those.
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
forgottenone has joined #pypy
<kenaan> mattip py3.5 d733a59858a7 /pypy/module/cpyext/include/unicodeobject.h: fix issue 2657, but why is this even an exported API function?
<kenaan> mattip default 921cf6b61598 /: remove redundant test, fix translation
<mattip> arigato: around? feel like rubber-ducking https://bitbucket.org/pypy/pypy/issues/2656 ?
<mattip> it's hard to know what is going on since this only happens on the buildbot AFAICT
cstratak has joined #pypy
<mattip> also I would like an opinion on 08a9cccce3f5, which fixes this test failure
<arigato> mattip: breakfast for now, but in one hour?
<mattip> +1, thanks
<arigato> np
arigato has quit [Quit: Leaving]
vkirilichev has joined #pypy
antocuni_ has quit [Ping timeout: 252 seconds]
inhahe_ has quit [Read error: Connection reset by peer]
vkirilichev has quit [Ping timeout: 240 seconds]
inhahe_ has joined #pypy
marr has joined #pypy
rokujyouhitoma has joined #pypy
adamholmberg has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
adamholmberg has quit [Ping timeout: 252 seconds]
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
* cfbolz waves
* mattip waves back
<fijal> hi
<mattip> cfbolz: it seems micronumpy on arm picked up some extra operations, see any of the failing micrunumpy tests here
<mattip> how do we tell loop.match() that it's ok, the extra ops are on purpose, but only for ARM?
<fijal> pfff, should we kill/disable micronumpy for now?
<fijal> mattip: you can do that by doing classic if something: loop.match() else: loop.match()
<mattip> nothing more elegant?
<mattip> I guess that is ok
<mattip> what does "--TICK--" do in a loop.match?
<cfbolz> mattip: every loop has some operations at the end that check whether there was a signal
<cfbolz> Tick is an abbreviation for those
<mattip> ok, that won't help skip 3 ops then
<cfbolz> No
<cfbolz> It's and int_and, int_is_zero and guard_false?
antocuni_ has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 255 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 252 seconds]
<mattip> cfbolz: seems like it, at least where I looked
<kenaan> mattip py3.5 2ec9c954ee0a /pypy/module/cpyext/typeobject.py: fix translation
<kenaan> mattip buildbot[cleanup-hg-bookmarks] 06d6f0d7b2c2 /master/templates/layout.html: remove link to numpy results from page top, add link to py3.5 instead
<kenaan> mattip buildbot[cleanup-hg-bookmarks] be49507c1176 /: close branch to be merged
<kenaan> mattip buildbot 201463d5f98a /: merge branch to remove hg bookmarks during hg cleanup
<mattip> as long as buildbot is not busy, could someone update it, then we can get a better view of py3.5 status
forgottenone has quit [Ping timeout: 252 seconds]
antocuni_ has quit [Ping timeout: 255 seconds]
oberstet has joined #pypy
* mattip off, later
vkirilichev has joined #pypy
rokujyouhitoma has joined #pypy
adamholmberg has joined #pypy
cloudyplain has quit [Remote host closed the connection]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
adamholmberg has quit [Ping timeout: 240 seconds]
vkirilichev has quit [Ping timeout: 248 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
adamholmberg has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
Rhy0lite has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 248 seconds]
antocuni_ has joined #pypy
yuyichao has quit [Ping timeout: 248 seconds]
yuyichao has joined #pypy
marky1991 has joined #pypy
yuyichao has quit [Ping timeout: 260 seconds]
antocuni__ has joined #pypy
ELFrederich has joined #pypy
antocuni_ has quit [Ping timeout: 248 seconds]
<ELFrederich> so API is the preferred binding approach. I thought there was a way to do it lazily, or at runtime. Is that still the case?
<ELFrederich> ... sorry, this is regarding CFFI
rokujyouhitoma has joined #pypy
jwhisnant has quit [Quit: Bye.]
jwhisnant has joined #pypy
jwhisnant has quit [Changing host]
jwhisnant has joined #pypy
jwhisnant has joined #pypy
jwhisnant has left #pypy [#pypy]
rokujyouhitoma has quit [Ping timeout: 252 seconds]
yuyichao has joined #pypy
vkirilichev has joined #pypy
antocuni__ is now known as antocuni
vkirilichev has quit [Ping timeout: 255 seconds]
antocuni has quit [Quit: Leaving]
antocuni has joined #pypy
yuyichao has quit [Ping timeout: 248 seconds]
<realitix> ELFrederich, yes the ABI mode
realitix has quit [Quit: Leaving]
yuyichao has joined #pypy
yuyichao has quit [Ping timeout: 240 seconds]
<kenaan> mattip py3.5 5574c7edd8e2 /pypy/module/cpyext/: argument pbyteorder should be precisely int*
<ELFrederich> I thought there was a mode that was lazy but still used a compiler.
rokujyouhitoma has joined #pypy
<LarstiQ> ELFrederich: verify()?
rokujyouhitoma has quit [Ping timeout: 240 seconds]
yuyichao has joined #pypy
<ELFrederich> yeah... that's it
<ELFrederich> What do you guys think of this idea...
<ELFrederich> annotate the C types and get bindings for free
<LarstiQ> ELFrederich: what's the usecase?
<ELFrederich> LarstiQ, from a single declarative definition of a function you get an automatically created C binding as well as a an automatically created idiomatic Python wrapper
<LarstiQ> ELFrederich: the normal case for cffi I expect is that you have C to access, writing functions in python seems to defeat the point?
* LarstiQ feels he is missing something
<ELFrederich> here's a snippet from my existing project. I have a single definition. It creates the binding in a .pdx file and the wrapper in a .pyx file
<ELFrederich> I was just thinking... that with type annotations I could embed all that info as well
<ELFrederich> Right now my declarations are data-only. Mostly strings, or lists of strings, etc. I'm porting this over to target cffi instead of Cython. But in doing so I was wondering if I should switch the way I define these functions in the first place.
<ELFrederich> I could switch them over to JSON to keep them purely data (even though they're currently data only but defined in Python syntax). If I switch to JSON, maybe some other language could consume them to create bindings. ... or, I could go 100% Python and use this new type annotation to denote the C types and calling conventions
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
<kenaan> rlamy py3.5 3d6ac44c6fff /: hg merge default
<kenaan> rlamy py3.5 3bf25e792a8e /pypy/module/cpyext/: merge heads
jamesaxl has quit [Read error: Network is unreachable]
jamesaxl has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
Garen has joined #pypy
Garen_ has quit [Ping timeout: 248 seconds]
holdsworth_ has joined #pypy
holdsworth has quit [Read error: Connection reset by peer]
Polsaker has quit [Ping timeout: 246 seconds]
xorAxAx has quit [Ping timeout: 246 seconds]
Polsaker has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
xorAxAx has joined #pypy
xorAxAx has joined #pypy
xorAxAx has quit [Changing host]
avakdh has quit [Ping timeout: 260 seconds]
avakdh has joined #pypy
marky1991_2 has joined #pypy
marky1991 has quit [Ping timeout: 248 seconds]
arigato has joined #pypy
static has quit [Disconnected by services]
static_ has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
marky1991_2 has quit [Read error: Connection reset by peer]
marky1991_2 has joined #pypy
marky1991_2 has quit [Remote host closed the connection]
marky1991_2 has joined #pypy
<kenaan> arigo cffi/cffi b19be645c9f5 /testing/cffi1/: Update the tests for pycparser 2.18
<kenaan> arigo default 566bf0c6ad4d /pypy/module/test_lib_pypy/cffi_tests/cffi1/: update to cffi/b19be645c9f5
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 264 seconds]
nimaje1 has joined #pypy
nimaje has quit [Killed (niven.freenode.net (Nickname regained by services))]
nimaje1 is now known as nimaje
antocuni has joined #pypy
arigato has quit [Quit: Leaving]
adamholm_ has joined #pypy
<kenaan> arigo cffi/cffi 62beffad167e /doc/source/using.rst: Update the doc, as suggested on python-cffi
adamholmberg has quit [Ping timeout: 260 seconds]
vkirilichev has joined #pypy
antocuni has quit [Ping timeout: 246 seconds]
rokujyouhitoma has joined #pypy
jcea has quit [Ping timeout: 255 seconds]
raynold has joined #pypy
adamholm_ has quit [Remote host closed the connection]
vkirilichev has quit [Ping timeout: 240 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Connection reset by peer]
arigato has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Connection reset by peer]
adamholmberg has joined #pypy
arigato has quit [Ping timeout: 240 seconds]
arigato has joined #pypy
cstratak has quit [Quit: Leaving]
rokujyouhitoma has joined #pypy
vkirilichev has joined #pypy
Rhy0lite has quit [Quit: Leaving]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
oberstet has quit [Ping timeout: 240 seconds]
vkirilichev has quit [Ping timeout: 255 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
arigato has quit [Quit: Leaving]
oberstet has joined #pypy
jamesaxl has quit [Quit: WeeChat 1.8]
vkirilichev has quit [Ping timeout: 240 seconds]
ceridwen has quit [Ping timeout: 246 seconds]
ceridwen has joined #pypy
dmalcolm has quit [Ping timeout: 252 seconds]
dmalcolm has joined #pypy
rokujyouhitoma has joined #pypy
yuyichao has quit [Quit: Konversation terminated!]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
ELFrederich has quit [Quit: Leaving]
yuyichao has joined #pypy
<kenaan> rlamy py3.5 e27c61e1a09a /pypy/module/cpyext/: Add inefficient implementation of PyUnicode_FromKindAndData()
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6218 [ronan: force build, py3.5]
vkirilichev has joined #pypy
windy has joined #pypy
<windy> Hi guys, is there any performance difference in the following two approaches? Basically I just want to at least support W_IntObject and W_BoolObject while W_BoolObject inherits from W_IntObject. Approach #1: if type(x) is W_IntObject or type(x) is W_BoolObject. Approach #2: if isinstance(x, W_IntObject)
<windy> I know the second approach will also accommodate other classes that inherits from W_IntObject
marky1991_2 has quit [Ping timeout: 240 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
<kenaan> rlamy py3.5 5ad69386dfac /pypy/module/cpyext/unicodeobject.py: fix translation
adamholmberg has quit [Ping timeout: 240 seconds]
<bbot2> Exception: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6218 [ronan: force build, py3.5]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6219 [ronan: force build, py3.5]
vkirilichev has quit [Remote host closed the connection]
<ronan> windy: is that in RPython?
<ronan> if so, #2 is probably better, since x will be annotated as a W_IntObject
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 246 seconds]
<bbot2> Exception: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6219 [ronan: force build, py3.5]
<kenaan> rlamy py3.5 a874c797101f /pypy/module/cpyext/unicodeobject.py: fix translation again
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6220 [ronan: force build, py3.5]
vkirilichev has joined #pypy
oberstet has quit [Quit: Leaving]
vkirilichev has quit [Ping timeout: 260 seconds]
jwhisnant has joined #pypy
jcea has joined #pypy
aboudreault_ has quit [Ping timeout: 258 seconds]
rokujyouhitoma has joined #pypy
antocuni has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
vkirilichev has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6220 [ronan: force build, py3.5]
marky1991_2 has joined #pypy
rokujyouhitoma has joined #pypy
marky1991_2 has quit [Ping timeout: 252 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
vkirilichev has quit [Ping timeout: 260 seconds]