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"
tilgovi has quit [Ping timeout: 246 seconds]
marr has quit [Ping timeout: 252 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (verne.freenode.net (Nickname regained by services))]
cloudyplain has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
lritter has joined #pypy
cwillu has quit [Max SendQ exceeded]
cwillu has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
tormoz has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tormoz has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cwillu has quit [Ping timeout: 248 seconds]
lritter_ has joined #pypy
lritter has quit [Read error: Connection reset by peer]
tbodt has joined #pypy
cwillu has joined #pypy
ArneBab_ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ArneBab has quit [Ping timeout: 246 seconds]
pjenvey has quit [Remote host closed the connection]
pjenvey has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
exarkun has quit [Ping timeout: 246 seconds]
exarkun has joined #pypy
forgottenone has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cloudyplain has quit [Remote host closed the connection]
vkirilichev has joined #pypy
cloudyplain has joined #pypy
tilgovi has joined #pypy
cloudyplain has quit [Read error: Connection reset by peer]
vkirilichev has quit [Ping timeout: 240 seconds]
forgottenone has quit [Read error: Connection reset by peer]
forgottenone has joined #pypy
fryguybob has quit [Read error: Connection reset by peer]
tormoz has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
tilgovi has quit [Remote host closed the connection]
cloudyplain has joined #pypy
cloudyplain has quit [Read error: Connection reset by peer]
exarkun has quit [Ping timeout: 248 seconds]
exarkun has joined #pypy
cwillu has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
marky1991 has joined #pypy
cloudyplain has joined #pypy
vkirilichev has quit [Ping timeout: 260 seconds]
marky1991 has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
rokujyouhitoma has joined #pypy
cwillu has quit [Ping timeout: 248 seconds]
rokujyouhitoma has quit [Ping timeout: 248 seconds]
vkirilichev has joined #pypy
cwillu has joined #pypy
tormoz has joined #pypy
vkirilichev has quit [Remote host closed the connection]
marky1991 has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
exarkun has quit [Ping timeout: 260 seconds]
exarkun has joined #pypy
vkirilichev has joined #pypy
cwillu has quit [Ping timeout: 260 seconds]
cwillu has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
cwillu has quit [Max SendQ exceeded]
cwillu has joined #pypy
realitix has joined #pypy
cwillu has quit [Ping timeout: 252 seconds]
rokujyouhitoma has joined #pypy
cwillu has joined #pypy
lritter_ has quit [Remote host closed the connection]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cloudyplain has quit [Remote host closed the connection]
cwillu has quit [Ping timeout: 240 seconds]
cloudyplain has joined #pypy
cwillu has joined #pypy
cloudyplain has quit [Read error: Connection reset by peer]
cwillu has quit [Ping timeout: 260 seconds]
oberstet has joined #pypy
cloudyplain has joined #pypy
cwillu has joined #pypy
vkirilichev has joined #pypy
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
cjwelborn has quit [Ping timeout: 246 seconds]
exarkun has quit [Ping timeout: 252 seconds]
exarkun has joined #pypy
vkirilichev has quit [Ping timeout: 248 seconds]
cwillu has quit [Ping timeout: 240 seconds]
cjwelborn has joined #pypy
marr has joined #pypy
rokujyouhitoma has joined #pypy
antocuni has joined #pypy
cwillu has joined #pypy
rokujyouhitoma has quit [Ping timeout: 255 seconds]
rubdos has quit [Quit: WeeChat 1.9]
vkirilichev has joined #pypy
medwards has joined #pypy
<medwards> So, I know its bad but I have some code that relies on CPython refcounting. Fortunately I am able to run collection as a workaround for now... but import gc; gc.collect() isn't calling the __del__ methods on the objects in question. Does gc.collect() not work like I think, or am I just missing something?
vkirilichev has quit [Ping timeout: 248 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
forgottenone has quit [Quit: Konversation terminated!]
<pdox> medwards: are you defining the __del__ method on the object after the fact?
<pdox> after object creation?
<pdox> (do you have a short reproducer?)
cwillu has quit [Ping timeout: 246 seconds]
<medwards> I just figured it out 5 minutes ago
<medwards> somebody brilliantly has a dictionary in globals() where the keys are these objects with __del__
<medwards> I hacked in a del globals()['x'] to test this and now the vast majority of objects are getting collected properly. There's a couple of outliers but my guess its the same thing, some poor use of globals or something
exarkun has quit [Ping timeout: 248 seconds]
jcea has joined #pypy
exarkun has joined #pypy
cwillu has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
ssbr has joined #pypy
cloudyplain has quit [Remote host closed the connection]
cwillu has quit [Ping timeout: 248 seconds]
vkirilichev has joined #pypy
cwillu has joined #pypy
rokujyouhitoma has joined #pypy
vkirilichev has quit [Ping timeout: 246 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cwillu has quit [Ping timeout: 248 seconds]
cwillu has joined #pypy
cwillu has quit [Ping timeout: 264 seconds]
cwillu has joined #pypy
<fijal> medwards: it might need more than one gc.collect()
<medwards> fijal: oh god that would be annoying but simple... lemme it give it a try but I have suspicions something weirder is happening
<fijal> chances are :)
<fijal> there gc.get_referrers which work on pypy
<fijal> it's hiper-slow but good for debugging
<medwards> fijal: so thats what I was experimenting with, after collection filter the result of gc.get_objects to just those that isinstance match what I want, then use get_referrers on the resulting list
<fijal> cool
<medwards> excepppppt the filtered get_objects list is empty
<medwards> XD
<fijal> it's a whack a mole operations
<fijal> operation
<fijal> medwards: for what is worth, we're contracted to add an API for doing it
<medwards> well it was definitely not "enough" gc runs
<medwards> fijal: if you're curious - https://pastebin.ca/3863949
<fijal> right, so each gc collect would run one "layer" of dels
<fijal> so if you have a -> b -> c
<fijal> you would need 3 runs (more or less, there is more involveD)
<medwards> like, that makes sense, but...
<fijal> generally speaking, you should not have __del__ if you have anything time-constrained
<medwards> why was my stuck list persistently empty?
<fijal> because there is no longer any living reference right?
<medwards> for range(2) for example it was empty
<medwards> but get_objects isn't necess---
<medwards> is get_objects only referenced stuff?
<fijal> yeah
<medwards> because I thought it was all gc tracked stuff
<medwards> ah fiddlesticks
<fijal> you can't enumerate unreachable stuff
<fijal> like maybe you could include "stuff that's unreachable but has __del__" in gc.objects
<fijal> that's a bit on the insane side though
<medwards> "tracked" here excludes unreachable?
cwillu has quit [Ping timeout: 264 seconds]
<medwards> ah its defined differently in pypy
<medwards> okaaaay
<medwards> thanks fijal :)
<arigato> yes, it excludes "definitely unreachable", but I'm not sure about "unreachable objects with a __del__"
<arigato> maybe it does exclude them, but shouldn't
<medwards> I mean, one thing that is weird is that by this point in program execution, none of these objects should have any referrers anyways
<medwards> ah, nm, the method namespace would refer to something and the method namespace could persist since its an object too
cwillu has joined #pypy
vkirilichev has joined #pypy
rokujyouhitoma has joined #pypy
cwillu has quit [Ping timeout: 248 seconds]
rokujyouhitoma has quit [Ping timeout: 246 seconds]
irclogs_io_bot has quit [Remote host closed the connection]
vkirilichev has quit [Ping timeout: 246 seconds]
cwillu has joined #pypy
forgottenone has joined #pypy
Rhy0lite has joined #pypy
cwillu has quit [Ping timeout: 240 seconds]
Rhy0lite has quit [Ping timeout: 248 seconds]
Rhy0lite has joined #pypy
cwillu has joined #pypy
forgottenone has quit [Ping timeout: 240 seconds]
_whitelogger has joined #pypy
rokujyouhitoma has joined #pypy
vkirilichev has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<cfbolz> arigato: yes, I think we should
cwillu has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
antocuni has joined #pypy
cwillu has quit [Ping timeout: 248 seconds]
cwillu has joined #pypy
cwillu has quit [Ping timeout: 260 seconds]
cwillu has joined #pypy
gclawes has quit [Quit: leaving]
gclawes has joined #pypy
adamholmberg has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 252 seconds]
yuyichao has quit [Ping timeout: 248 seconds]
cwillu has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
yuyichao has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
cwillu has quit [Ping timeout: 246 seconds]
cwillu has joined #pypy
cwillu has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
<Lightsword> should there be a pypy3 package in the ppa here? https://launchpad.net/~pypy/+archive/ubuntu/ppa/+packages
<ronny> Lightsword: i recall that one is not maintained by pypy core
cwillu has joined #pypy
rokujyouhitoma has joined #pypy
<kenaan> cfbolz default e66be45f3914 /rpython/jit/metainterp/optimizeopt/: emit guard_nonnull_class in the short preamble, instead of two guards in case of remove_gctypeptr = True
cwillu has quit [Ping timeout: 248 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
vkirilichev has joined #pypy
<mattip> hi
<mattip> Lightsword: pypy3 is still considered beta quality, so no official package yet
windy_ has joined #pypy
vkirilichev has quit [Ping timeout: 248 seconds]
<windy_> hi folks, I ran two programs A and B on PyPy and I found that turn on PYPYLOG=jit:log would make A faster, but make B slower. Could anyone please shed some light on it?
<exarkun> How much faster? With what confidence?
<ronan> windy_: my guess is that PYPYLOG=jit:log does nothing and you're just seeing noise
<ronan> arigato: is there a reason for cffi lib objects to appear in sys.modules on pypy?
<kenaan> mattip default 4629665cda12 /pypy/module/cpyext/test/: allow running -A on pypy with no micronumpy
cwillu has quit [Ping timeout: 260 seconds]
<Lightsword> ronny, are there any ppa’s maintained by pypy core?
<windy_> So my program is a loop with 1 million iterations. Without PYPYLOG it consistently runs at ~180K iterations per second. However, with PYPYLOG it consistently runs at ~220K iterations per second
<windy_> I look at the generated log and found that the loop doesn't have any bridge I guess: TargetToken(139625152622768):998925
<Lightsword> mattip, does it work well enough to be used in production? I just finished porting a fairly large tornado application from python 2 to python3 with asyncio, we’ve been mostly testing on cpython 3 though initially but were previously using it with pypy2 before we did the port.
<mattip> Lightsword: the pypy core is loosely defined. AFAICT there is only the official ppa, what does google say?
<mattip> Lightsword: As far as pypy3 in production, YMMV, it is beta quality software. If you do discover problems please let us know
<mattip> the underlying RPython code is almost identical, although the code paths may be different
<Lightsword> mattip, well I saw that ppa listed here https://pypy.org/download.html
cwillu has joined #pypy
<exarkun> trying to use vmprof on tahoe-lafs
<exarkun> a fair portion of the time, when tahoe-lafs exits, vmprof goes into an infinite loop on
<exarkun> write(3, "\0020\333\2755l\177\0\0z\0\0\0\0\0\0\0py:MapupdateSta"..., 8129) = -1 EBADF (Bad file descriptor)
<exarkun> nanosleep({0, 1000}, NULL) = 0
<mattip> Lightsword: the admin of that group hangs out here as tumbleweed, I don't know really how the ppa launchpad.net/~pypy relates to the official debian packages which are available on Ubuntu as well
<kenaan> mattip default 2bf77ef25a29 /pypy/doc/whatsnew-head.rst: document merged branch
<Lightsword> mattip, well official debian packages are typically outdated
<Lightsword> I think ubuntu 16.04 was pypy 5.1 or somethinglikethat
windy_ has quit [Quit: Page closed]
<mattip> https://packages.debian.org/search?keywords=pypy is showing 5.8 on sid (unstable) and buster (testing), but
<tumbleweed> mattip: how they relate is that I upload the same thing
<mattip> so it's just a matter of available version upon doing apt-update, the "official" version in xenial is now 5.1.2, but 5.8.0 is available through the pypy ppa?
<tumbleweed> it looks like the question was: Where is the pypy3 package. And that's in progress
rokujyouhitoma has joined #pypy
<tumbleweed> yes, the ppa will have the most recent release. But the archive will have the pypy that was stable at the time that ubuntu release froze
<mattip> +1, thanks
<Lightsword> yeah, I’ve been using the ppa for pypy2 with 5.8.0 since xenial only had 5.1.2 by default
cwillu has quit [Ping timeout: 240 seconds]
<Lightsword> but since I just ported an app to python 3 I can’t really use the ppa anymore until it gets pypy3
<LarstiQ> you can still use the ppa, it just doesn't have a (newer) pypy3
<Lightsword> hmm, I didn’t see pypy3 there at all
<tumbleweed> it has *no* pypy3
<tumbleweed> because that isn't quite working yet (but it's very close - I just haven't touched it in a couple of months)
<Lightsword> tumbleweed, is it a packaging issue or something else?
rokujyouhitoma has quit [Ping timeout: 260 seconds]
<tumbleweed> yes
<tumbleweed> I haven't got the import path right yet
cwillu has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 260 seconds]
cwillu has quit [Ping timeout: 240 seconds]
forgottenone has joined #pypy
cwillu has joined #pypy
cwillu has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
oberstet has quit [Ping timeout: 248 seconds]
antocuni has quit [Ping timeout: 260 seconds]
cwillu has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
rubdos has joined #pypy
cwillu has joined #pypy
vkirilichev has quit [Ping timeout: 248 seconds]
oberstet has joined #pypy
<arigato> ronan: cffi lib objects: what are you seeing?
<runciter> exarkun: is tahoe-lafs' server daemonizing?
<exarkun> no
<runciter> exarkun: this was under pypy?
<exarkun> no
<runciter> ok
rokujyouhitoma has joined #pypy
cwillu has quit [Ping timeout: 264 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
realitix has quit [Quit: Leaving]
pilne has joined #pypy
cwillu has quit [Ping timeout: 240 seconds]
Rhy0lite has quit [Quit: Leaving]
vkirilichev has joined #pypy
cwillu has joined #pypy
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
aboudreault_ has joined #pypy
rokujyouhitoma has joined #pypy
<ronan> arigato: lib objects end up in sys.modules on pypy3 but not on CPython 3
rokujyouhitoma has quit [Ping timeout: 260 seconds]
cwillu has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
<ronan> arigato: also, AFAICT, importing from lib objects doesn't work on cpython3
forgottenone has quit [Quit: Konversation terminated!]
irclogs_io_bot has joined #pypy
cwillu has quit [Ping timeout: 260 seconds]
cwillu has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
<kenaan> cfbolz regalloc-playground 33863bdafaae /rpython/jit/backend/x86/: support for more operations, including shifts
<kenaan> cfbolz regalloc-playground 5d156f96018b /rpython/jit/backend/x86/reghint.py: cleanup
<kenaan> cfbolz regalloc-playground 96fe37156480 /rpython/jit/backend/x86/test/test_regalloc.py: test for later
<kenaan> cfbolz regalloc-playground 494789502df8 /rpython/jit/backend/x86/: fix a bug with consta arguments
<kenaan> cfbolz regalloc-playground 925ba08f5490 /rpython/jit/backend/x86/: fix bug for a call argument appearing twice
<kenaan> cfbolz regalloc-playground a491c78e08f8 /rpython/jit/backend/x86/test/test_regalloc.py: convenience method in tests
<kenaan> cfbolz regalloc-playground ec41cc35c5d8 /rpython/jit/backend/x86/: use LEA even for additions that involve the stack (that way we can move the stack argument to a regist...
<kenaan> cfbolz regalloc-playground c5f253b5d0c1 /rpython/jit/backend/x86/: hints for call_malloc_nursery
<kenaan> cfbolz regalloc-playground d2f37627db2e /rpython/jit/backend/x86/: extract a series of int ops from a real trace (and implement int_neg)
<kenaan> cfbolz default ffbad4ff0842 /pypy/objspace/std/specialisedtupleobject.py: in the fast zip(intlist1, intlist2) implementation, don't wrap and unwrap all the ints
kipras is now known as kipras`away
exarkun has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
exarkun has joined #pypy
tbodt has joined #pypy
tbodt has quit [Client Quit]
kipras`away is now known as kipras
forgottenone has joined #pypy
cwillu has quit [Ping timeout: 240 seconds]
cwillu has joined #pypy
tbodt has joined #pypy
cwillu has quit [Ping timeout: 260 seconds]
tbodt has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
tbodt has quit [Client Quit]
rokujyouhitoma has joined #pypy
tbodt has joined #pypy
cwillu has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
forgottenone has quit [Quit: Konversation terminated!]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
cwillu has quit [Ping timeout: 248 seconds]
cwillu has joined #pypy
cwillu has quit [Ping timeout: 248 seconds]
marky1991 has quit [Ping timeout: 240 seconds]
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
marky1991 has joined #pypy
rokujyouhitoma has joined #pypy
cwillu has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
cwillu has quit [Ping timeout: 240 seconds]
yuyichao_ has joined #pypy
yuyichao has quit [Ping timeout: 248 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
raynold has joined #pypy
glyph has quit [Quit: End of line.]
glyph has joined #pypy
marr has quit [Ping timeout: 240 seconds]
adamholmberg has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
adamholmberg has joined #pypy
vkirilichev has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
oberstet has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
yuyichao_ has quit [Ping timeout: 246 seconds]
marky1991 has quit [Ping timeout: 240 seconds]
yuyichao_ has joined #pypy
ceridwen has quit [Ping timeout: 246 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
rokujyouhitoma has joined #pypy
cloudyplain has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
carljm has joined #pypy
cloudyplain has quit [Remote host closed the connection]
cloudyplain has joined #pypy
cloudyplain has quit [Ping timeout: 240 seconds]