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)"
jacob22__ has joined #pypy
jacob22 has quit [Ping timeout: 256 seconds]
Hasimir has quit [Read error: Connection reset by peer]
TheAdversary has quit [Remote host closed the connection]
yuyichao_ has quit [Ping timeout: 260 seconds]
antocuni has quit [Ping timeout: 256 seconds]
exarkun has quit [Ping timeout: 260 seconds]
exarkun has joined #pypy
yuyichao_ has joined #pypy
yuyichao has joined #pypy
yuyichao_ has quit [Ping timeout: 248 seconds]
marr has quit [Ping timeout: 264 seconds]
Rhy0lite has quit [Quit: Leaving]
Hotpot33 has quit [Ping timeout: 240 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
<mahmudov> it really needs swap. i saw over 6gb ram usage
awkwardpenguin has quit [Remote host closed the connection]
adamholmberg has quit [Ping timeout: 248 seconds]
<mahmudov> finally compiled thnks fijal,arigato
riddle has quit [Ping timeout: 252 seconds]
riddle has joined #pypy
mahmudov has quit [Ping timeout: 248 seconds]
exarkun has quit [Ping timeout: 248 seconds]
exarkun has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mahmudov has joined #pypy
awkwardpenguin has joined #pypy
awkwardpenguin has quit [Ping timeout: 248 seconds]
Hotpot33 has joined #pypy
mahmudov has quit [Ping timeout: 265 seconds]
Hotpot33 has quit [Ping timeout: 248 seconds]
jtl_ has joined #pypy
ciphergoth has joined #pypy
<ciphergoth> I'm trying to figure out how to use CPython 3.6 + cffi to test my C code, but I'm getting confused. Is this the right place to ask for advice?
<simpson> This is the right place for cffi questions.
<ciphergoth> thanks
Hotpot33 has joined #pypy
<ciphergoth> Assuming I do as the docs advise and use API mode, what's the second argument to set_source? Not the actual C file under test, right?
<simpson> I'm not sure offhand.
<ciphergoth> What's the intent of that argument?
<simpson> It seems to be the actual C source, yes.
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 268 seconds]
ArneBab_ has joined #pypy
ArneBab has quit [Ping timeout: 256 seconds]
<ciphergoth> ffi compiles my modile when I give set_source the library_dirs directive, but then when I call importlib.import_module, it fails with "Library not loaded" and it's looking in the wrong place.
exarkun has quit [Ping timeout: 255 seconds]
exarkun has joined #pypy
<ciphergoth> should I modify DYLD_LIBRARY_PATH?
<simpson> Sorry, was getting dinner. No idea how to do things on OSX, sorry.
<ciphergoth> No problem!
awkwardpenguin has joined #pypy
awkwardpenguin has quit [Ping timeout: 240 seconds]
<raynold> Ahh it's a wonderful day
jacob22__ has quit [Ping timeout: 240 seconds]
jacob22_ has joined #pypy
gclawes_ has joined #pypy
gclawes has quit [Read error: Connection reset by peer]
<ciphergoth> one last q before I turn in: how do I change where the generated c, o, so files end up?
<ciphergoth> aha, tmpdir
jcea has quit [Ping timeout: 276 seconds]
jcea1 has joined #pypy
jcea1 is now known as jcea
exarkun has quit [Ping timeout: 265 seconds]
exarkun has joined #pypy
ciphergoth has quit [Ping timeout: 240 seconds]
jtl_ has quit [Quit: jtl_]
forgottenone has joined #pypy
ciphergoth has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3632 [mattip: force build, release-pypy3.5-v5.9.x]
awkwardpenguin has joined #pypy
ciphergoth has quit [Ping timeout: 264 seconds]
awkwardpenguin has quit [Remote host closed the connection]
amaury has joined #pypy
exarkun has quit [Ping timeout: 248 seconds]
exarkun has joined #pypy
zmt00 has quit [Read error: Connection reset by peer]
zmt00 has joined #pypy
Taggnostr has joined #pypy
amaury has quit [Quit: Konversation terminated!]
jacob22_ has quit [Quit: Konversation terminated!]
<arigato> no cluuuue translate.py runs with the GC feeling responsible for 3GB of arenas and 300MB of raw-mallocs, both in default and in mmap-for-arenas
larsivi_ has joined #pypy
<arigato> but the default RSS grows to 5GB, and the mmap-for-arenas RSS grows to 6GB
exarkun has quit [Ping timeout: 255 seconds]
antocuni has joined #pypy
exarkun has joined #pypy
kushal has quit [Quit: ZNC 1.6.3 - http://znc.in]
kushal has joined #pypy
kushal is now known as Guest91444
awkwardpenguin has joined #pypy
Guest91444 has quit [Remote host closed the connection]
kush- has joined #pypy
<fijal> arigato: FYI we can have a venue in Krakow for sprint
awkwardpenguin has quit [Ping timeout: 260 seconds]
kush- has quit [Remote host closed the connection]
kush- has joined #pypy
<antocuni> fijal: +1 for krakow :)
marr has joined #pypy
jacob22__ has joined #pypy
jacob22_ has joined #pypy
jacob22 has joined #pypy
jacob22__ has quit [Ping timeout: 276 seconds]
jacob22_ has quit [Ping timeout: 255 seconds]
jacob22 has quit [Ping timeout: 248 seconds]
mahmudov has joined #pypy
antocuni has quit [Ping timeout: 260 seconds]
mahmudov has quit [Quit: Leaving]
mahmudov has joined #pypy
jcea has quit [Quit: jcea]
tayfun26 has joined #pypy
pilne has quit [Quit: Quitting!]
<arigato> fijal: would be cool! ...if we manage to avoid an overlap as this looks like a busy period for us
antocuni has joined #pypy
<fijal> arigato: right
Arfrever has quit [Ping timeout: 240 seconds]
<nedbat> Using PyPy on the mac, it seems like the builds aren't entirely endorsed by the dev team yet? Am I misreading that?
<fijal> nedbat: the builds are a bit "meh"
<fijal> they require stuff from homebrew
awkwardpenguin has joined #pypy
<nedbat> fijal: i'd like to be able to use them with confidence, but I can't offer personal effort. If I wanted to put the word out on twitter looking for volunteers to help, would that help?
<fijal> nedbat: they're allright, just require libraries from homebrew
<nedbat> fijal: so we just need some more instructions about how to use them?
<fijal> nedbat: the only difference would be to bundle libraries with the builds, as opposed to requiring them installed
<fijal> yes and no, bundled build has its value and should probably be there, for which volunteer would help for sure
<fijal> we generally recommend pypy from homebrew anyway (since then they deal with openssl being up to date for example)
<fijal> we have noone who tracks openssl releases so we can do security releases of bundled stuff for example (which is a problem)
<Rotonen> you also need different libs per different macos version (and that keeps slowly changing over time) so most projects just staticly link in their deps instead of trying to educate their userbase to take a stance on userspace library management
<fijal> this is all about non-linux machines
ciphergoth has joined #pypy
<nedbat> fijal: for example, this seems like a regression in the mac builds: https://bitbucket.org/pypy/pypy/issues/2729
<fijal> nedbat: stop crashing bitbucket :)
<fijal> I can't load it
<nedbat> fijal: it took a really long time for me to load that page too!
awkwardpenguin has quit [Ping timeout: 264 seconds]
<fijal> nedbat: so yeah that's a bug, we should fix it
<fijal> but it has nothing to do with the builds
<nedbat> fijal: oh, it seems like it's mac only?
<fijal> it's a combo of some sort (but yes, only visible on mac)
<fijal> of host unicode width and target unicode width
<fijal> note that we have a plan to drop completely unicode width in 6.0 and be always wide
<fijal> since we'll use utf8 internally
<nedbat> fijal: when i try pypy2-v5.10.0, I get "dyld: Library not loaded: /usr/local/opt/ncurses/lib/libncursesw.6.dylib", is that a brew thing I need to install? the older versions run fine.
<Rotonen> oh, you assume homebrew is in /usr/local ?
<fijal> yeah that's the brew thing
<fijal> nedbat: so yes, that part would definitely welcome a volunteer to clean it up
<nedbat> fijal: ok, what kind of skills should I be looking for? "Mac build guru
<nedbat> "?
<fijal> I think (but I might be wrong) it's enough to redo cpython hacks
<fijal> so "guru" might be a bit too much ;-)
<fijal> how about "someone with round tuits"?
Rhy0lite has joined #pypy
<Rotonen> https://pastebin.com/xv8iZPWR <- for reference here's what i'm doing for building a python on 10.13 which can run in sandboxed mac apps up to 10.9 - if building on a newer system than the target, you have to take care not to use syscalls not available in previous versions
<nedbat> fijal: ok, but is it "Mac build"? (yes, guru will scare everyone away!)
<fijal> yeah
<nedbat> Rotonen: are you working on the official Mac builds?
<fijal> nedbat: if you don't mind I'll go have a nap, didn't sleep much last night :-)
<nedbat> fijal: sleep is good. do it! :)
<fijal> I'll read the log
<Rotonen> no, i do closed source mac and win32 python stuff at $WORK and i've been given a release form to share that script of mine to pypy people tackling mac releases
<nedbat> Rotonen: do you want to help with the official builds? :)
<Rotonen> i'm here to 1) complain about zope things not working with pypy 2) looking at tackling 64bit windows builds
<fijal> Rotonen: both worthy and annoying problems :)
<Rotonen> i might pop by leysin as well as i live in .ch
<Rotonen> as for the mac builds i can at least provide you that scaffold of some pitfalls i've found - i do recommend building on the latest tools and hacking in support for older versions like that
dddddd has joined #pypy
<Rotonen> nedbat: if you tackle the builds, i can help validate those builds and the build toolset used in an iterative process over time
<nedbat> Rotonen: i won't be able to do builds myself, but I'm interested in helping to find people to help.
<cfbolz> nedbat: if you tweet, let me know, I can retweet from @pypyproject
<nedbat> cfbolz: thansk
kush- is now known as kushal
kushal has quit [Changing host]
kushal has joined #pypy
mahmudov has quit [Ping timeout: 248 seconds]
jacob22 has joined #pypy
<nedbat> Rotonen: do you know why pypy2-5.10 needs brew libraries installed that pypy3-5.10 doesn't?
jacob22 has quit [Client Quit]
<cfbolz> nedbat: which ones?
<nedbat> cfbolz: i had to "brew install ncurses" to get pypy2-5.10 to work, but pypy3 worked without it
<Rotonen> wouldn't that just be you not isolating those envs from each other and you thus already had ncurses? :P
<nedbat> Rotonen: i installed the two versions identically (with pythonz), symlinked into /usr/local/bin.
<Rotonen> won't that make brew doctor mad at you per default?
<Rotonen> but i mean if you installed ncurses, you have ncurses, thus you do not need to reinstall ncurses?
amaury has joined #pypy
<cfbolz> nedbat: I have a vague memory that it's something like python3 using ncursesw vs ncurses or so
<nedbat> Rotonen: pypy3 worked before i installed ncurses
<Rotonen> that's the bit i was missing
<nedbat> Rotonen: yes, sorry, it's hard to accurately report things, i appreciate the discussion
<Rotonen> now i'm just starting to guess blindly, but that means one can build pypy3.5-5.10 without ncurses support?
<Rotonen> whereas for 2.7 that's a hard failure?
<Rotonen> one can build cpython 3.4 .. 3.6 without curses support as well so i'd not consider that all too critical
<Rotonen> are the required and optional modules actually documented somewhere and is there a (documented?) delta of those vs. pypy?
jacob22__ has joined #pypy
adamholmberg has joined #pypy
mjacob_ is now known as mjacob
Jellyg00se has joined #pypy
realitix has joined #pypy
awkwardpenguin has joined #pypy
mahmudov has joined #pypy
awkwardpenguin has quit [Ping timeout: 255 seconds]
amaury has quit [Ping timeout: 265 seconds]
realitix has quit [Quit: realitix]
yuyichao has quit [Ping timeout: 252 seconds]
yuyichao has joined #pypy
ciphergoth has quit [Remote host closed the connection]
jtl_ has joined #pypy
<ionelmc> is there any ppa for pypy3?
tayfun26 has quit [Remote host closed the connection]
<tumbleweed> no, but it's been pretty much ready for that for a while :(
amaury has joined #pypy
awkwardpenguin has joined #pypy
<nedbat> cfbolz: maybe it would make more sense for you to tweet it, and i could retweet it?
awkwardpenguin has quit [Ping timeout: 255 seconds]
amaury has quit [Ping timeout: 240 seconds]
antocuni has quit [Ping timeout: 240 seconds]
awkwardpenguin has joined #pypy
exarkun has quit [Ping timeout: 276 seconds]
exarkun has joined #pypy
jcea has joined #pypy
awkwardpenguin has quit [Remote host closed the connection]
<kenaan> mjacob extradoc 66b597d8bf63 /sprintinfo/leysin-winter-2018/people.txt: Add myself.
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 276 seconds]
adamholmberg has joined #pypy
inad922 has joined #pypy
adamholmberg has quit [Remote host closed the connection]
Crys has joined #pypy
adamholmberg has joined #pypy
jtl_ has quit [Quit: jtl_]
<Crys> Hi, PyPy adds a __dict__ to instances of extension classes although the extension class should not have a __dict__. Example: https://paste.fedoraproject.org/paste/kNfcnkw4Y7qgy8MqVCpG8A
<Crys> arigato: Alex_Gaynor said I should ping you.
<arigato> Crys: I'm unsure that the problem is general; I'd rather think it is specific to sha3
<arigato> e.g. on cpython there's the C implementation and on pypy it uses the pure python version
<arigato> (maybe)
<Crys> arigato: It's Python / pypy 2.7. They don't have sha3.
<arigato> as far as I know, we fully emulate CPython's behaviour in cpyext
<arigato> so where does this sha3 come from?
<Crys> arigato: I'm the author of sha3 package. The actual implementation is a C implementation without tp_dict, tp_dictoffset and without getter for __dict__
<arigato> ah, there's details in the issue
<Crys> arigato: <module '_pysha3' from './_pysha3.pypy-41.so'>
<arigato> can you reproduce with a 10-lines C extension?
<Crys> compiled with pypy setup.py
<Crys> I could try
<arigato> we could try ourselves, too :-)
<Crys> but 10 lines is going to be hard.
<arigato> ok, 20
<Crys> 25? :p
<arigato> you're right, it seems to reproduce
<arigato> I just hooked in a test making a custom type
<arigato> and the instance has a __dict__
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
<Crys> good
<Crys> I'm not crazy :)
<arigato> surprizing that nobody complained before :-)
<Crys> Tell that the three other persons in my head!
<Crys> :p
tormoz has quit [Remote host closed the connection]
tormoz has joined #pypy
igitoor has quit [Ping timeout: 252 seconds]
igitoor has joined #pypy
danieljabailey has quit [Quit: ZNC 1.6.5+deb2build2 - http://znc.in]
danieljabailey has joined #pypy
igitoor has quit [Changing host]
igitoor has joined #pypy
drolando_ has quit [Remote host closed the connection]
drolando has joined #pypy
antocuni has joined #pypy
amaury has joined #pypy
antocuni has quit [Ping timeout: 265 seconds]
tbodt has joined #pypy
mahmudov has quit [Quit: Leaving]
mahmudov has joined #pypy
Rhy0lite has quit [Quit: Leaving]
tormoz has quit [Read error: Connection reset by peer]
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
tormoz has joined #pypy
pilne has joined #pypy
jamesaxl has joined #pypy
mahmudov has quit [Ping timeout: 256 seconds]
jtl_ has joined #pypy
inad922 has quit [Ping timeout: 264 seconds]
marr has quit [Ping timeout: 248 seconds]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3636 [mattip: force build, release-pypy3.5-v5.9.x]
mahmudov has joined #pypy
mahmudov has quit [Client Quit]
mahmudov has joined #pypy
nunatak has joined #pypy
agronholm_ is now known as agronholm
Crys has left #pypy ["Leaving"]
amaury has quit [Quit: Konversation terminated!]
<arigato> a current state dump about the mmap-for-arenas branch
<arigato> I may have a theory
<arigato> small GC objects are stored in arenas, and larger ones raw-mallocated
<arigato> consider the raw-mallocated objects only: if during translate.py their total size grows to 1.5GB at one point but is usually more 500MB
<arigato> then that would explain the different behavior in mmap-for-arenas:
<arigato> in "default" both the raw-malloced and the arenas are obtained with the libc malloc(),
<arigato> so it's fine to imagine that after the size grew to 1.5GB and shrank again, at least the same memory can be reused for arenas
<arigato> in mmap-for-arenas it cannot occur, and thus there is 1GB of unused memory that sticks around
<xorAxAx> ah, sounds legit
<arigato> yes, I see the size grew to 1.32GB
<arigato> earlier in the process when there was not so many arenas
<arigato> the GC triggers the next major GC based on the sum of the raw-malloced and the used-in-arenas size
<arigato> so we just happened to create a lot of big objects and not so many small objects during that GC cycle
<xorAxAx> fragmentation in the non-movable space ... how to avoid
<arigato> some Java VMs have a GC that is similar to PyPy's but also has the ability to compactify the whole heap very occasionally
<arigato> it's something I'm not sure I want to consider
<arigato> it would involve adding logic to the GC that is rarely run at all, and rarely breaking the invariant that old objects don't move
<xorAxAx> and they can compact their equivalent of raw-malloc allocations?
<xorAxAx> ah, its not the raw-malloc space?
<arigato> yes
<arigato> for Java VMs it's all handled by the GC and not delegated to the libc malloc() but yes
<xorAxAx> well, sure. but if you have an allocation of native memory or however they call it, then they would incur fragmentation of that space as well potentially
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
<arigato> no, the java VMs get one big chunk of memory at the start and that's it, often
<arigato> I imagine that if they even have the ability to grow the heap, they ask in very big chunks
awkwardpenguin has joined #pypy
<xorAxAx> yes
nunatak has quit [Quit: Leaving]
antocuni has joined #pypy
marr has joined #pypy
<kenaan> arigo default e21bb2a19d05 /rpython/memory/gc/: Print some more stats at the end of a major GC
jacob22__ has quit [Quit: Konversation terminated!]
jacob22__ has joined #pypy
jtl_ has quit [Quit: jtl_]
forgottenone has quit [Quit: Konversation terminated!]
dddddd has quit [Remote host closed the connection]
adamholmberg has quit [Remote host closed the connection]
awkwardpenguin has quit [Remote host closed the connection]
adamholmberg has joined #pypy
awkwardpenguin has joined #pypy
adamholmberg has quit [Ping timeout: 255 seconds]
awkwardpenguin has quit [Ping timeout: 255 seconds]
jacob22__ has quit [Quit: Konversation terminated!]
jacob22__ has joined #pypy
jacob22__ is now known as jacob22
amaury has joined #pypy
amaury has quit [Quit: Konversation terminated!]
amaury has joined #pypy
jamesaxl has quit [Quit: WeeChat 1.9.1]