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)"
<njs>
nanonyme: not sure what you mean about the UCRT being a "loader library". it's a C runtime library (hence the name).
<njs>
nanonyme: I think there is some mechanism for shipping the UCRT yourself in case you want to be double-extra-sure that it works on older systems that have disabled windows update or something and hence don't have it preinstalled
<njs>
nanonyme: and annoyingly there is still a small "VC runtime" that's MSVC-version-specific and contains some stuff with intimate compiler knowledge like setjmp/longjmp. But unless you have an API that call setjmp in one DLL and then longjmp in another, this doesn't cause the kind of weird version skew issues that MSVCRT used to be famous for.
<kenaan_>
stian math-improvements 9838b9ca2938 /rpython/rlib/rbigint.py: Don't return a copy on long // 1
asmeurer____ has quit [Quit: asmeurer____]
antocuni has quit [Ping timeout: 240 seconds]
<arigato>
fijal: pong
oberstet has joined #pypy
jacob22 has quit [Quit: Konversation terminated!]
<fijal>
arigato: so FYI I tried tracking memory and I'm Missing a lot
<fijal>
Like 1/3
<fijal>
I'll try some more later, will get back to you tonight
jcea has joined #pypy
jcea has quit [Client Quit]
songww has quit [Ping timeout: 268 seconds]
panni_ has quit [Ping timeout: 260 seconds]
jcea has joined #pypy
panni_ has joined #pypy
Ulfalizer has joined #pypy
antocuni has joined #pypy
<mva>
hi there [again :)]! can you also advice me about a way to make pypy/pypy3 to install "pickles" ({Pattern,}Grammar*final.0.pickle files)?
marvin_ has quit [Remote host closed the connection]
marvin has joined #pypy
marvin is now known as Guest37492
raynold has quit [Quit: Connection closed for inactivity]
Guest37492 has quit [Remote host closed the connection]
marvin_ has joined #pypy
oberstet has quit [Ping timeout: 246 seconds]
<arigato>
mva: we don't know what you're talking about, can you give some context?
jerith_ is now known as jerith
<mva>
well, not that I myself is python pro and I wish I would know what that pickles are, but all I know is when I try to install (with setup.py, for example) some python packages against pypy/pypy3, they trying to access (and if that files are missing - buildsystem tries to write them, causing sandbox access violation) that pickle files (/usr/lib64/pypy3/lib-python/3/lib2to3/PatternGrammar3.5.3.final.0.pickle and
<mva>
/usr/lib64/pypy3/lib-python/3/lib2to3/Grammar3.5.3.final.0.pickle in case of pypy3), or when I trying to build pypy3, I also getting pretty similar sandbox AV on /usr/lib64/pypy/lib-python/2.7/lib2to3/Grammar2.7.13.final.42.pickle file (not sure how pypy3 build process is related to pypy, tho).
<mva>
at the same time, CPython packages (both 2 and 3) has files with similar naming, and putting them in that paths kinda fixes the problem, but I'd like to avoid that way, since it generates orphan files (that ones, not belonging to any package) on the filesystem :-/
<Rotonen>
mva: a pickle is a serialized python object
<Rotonen>
a rough, but wrong on some levels, but useful enough comparison: pickles are for python like json is for javascript
<ronny>
Rotonen: i'd like to object tihs comparisation, json borrows textual repressentaion semantics, pickle is pretty much a interpreted serialization format, with opcodes/op instructions based on version
<Rotonen>
and i caveated the compariosn and everything :P
yuyichao has joined #pypy
<arigato>
mva: ok, this looks very specific to the setup.py you're trying to install (unless I'm wrong)
yuyichao_ has quit [Ping timeout: 250 seconds]
<arigato>
so please give some more details, starting with which package you're trying to install
<antocuni>
arigato: what is the purpose of continulet.switch(to=...) ?
<mva>
arigato: as I said, it is even applied to pypy3 installation itself (it's buildsystem tries to access/write such file in pypy (non "3") directory
<LarstiQ>
mva: py3.5 is the main focus iirc. Rpython changes go through default and get merged into py3 branches
<mva>
thanks
<ronan>
cfbolz: I'd recommend using CPython, the (moderate) speed-up isn't worth the bootstrapping headaches
<cfbolz>
ronan: are you using cpython yourself?
<ronan>
yes
lritter__ has quit [Ping timeout: 260 seconds]
<cfbolz>
I am not patient enough, I suppose
<cfbolz>
I never use cpython
<cfbolz>
anyway, what bootstrapping headaches?
<ronan>
needing to have pypy in order to build pypy
lazy1 has joined #pypy
oberstet has quit [Ping timeout: 240 seconds]
<antocuni>
ronan: running translation on pypy vs cpython used to be ~2x faster
<antocuni>
I would not call it a "moderate" speedup
<ronan>
IIRC, it's more like 50% nowadays
<lazy1>
I'm embedding pypy in a Go application and have few questions about embedding.
<fijal>
should we kill the vmprof twistd?
<fijal>
it occupies 7G of RAM now
<lazy1>
I call a pypy function from the Go/C level from several threads. Does all of these functions run in the same memory space?
<fijal>
lazy1: I would say "yes", but I'm not sure I understand the question
<lazy1>
Say in the embedded script there's a global dict. Do all function see the same dict?
<fijal>
ronan: yeah so that's why relatively few people use pypy
<fijal>
"moderate speedups are not worth headaches, real or imagined"
<fijal>
apt-get install pypy seems like a relatively minor one
<lazy1>
And if they do, I guess they work with the same GIL as well?
yuyichao has quit [Ping timeout: 252 seconds]
<fijal>
lazy1: yes?
<lazy1>
Is there a way to have one interpreter per thread?
<fijal>
no
<fijal>
at least "not yet"
<fijal>
this is something worth exploring IMO
<lazy1>
Thanks
<fijal>
lazy1: I would not mind finding funding for that
<lazy1>
Another question is that I allocate memory in pypy using C.strdup. Sometimes when I free it in the Go level I get SIGABRT on double free. Is it possible the pypy is freeing this memory as well?
<lazy1>
(I guess probably not :)
<ronan>
fijal: well, if you can apt-get install pypy, why would you go through the major headache of building it?
<fijal>
ronan: for other reasons I guess?
<fijal>
lazy1: how do you reference it from pypy?
<lazy1>
It's a return value from the function.
<fijal>
ok, and how does pypy get it?
<lazy1>
It's doesn't - it allocates a struct and returns a pointer to it. I free only the fields on the struct
<antocuni>
ronan: for the same reason why some people build gcc :)
<fijal>
lazy1: when the last refernce is gone, so when the module is garbage collected
<lazy1>
fijal: Since the response object is global I assume it's alive all the time
<fijal>
which might or might not be at the runtime shutdown
<fijal>
(it usually is)
<lazy1>
That's OK with me. The module lifetime is enough
<kenaan_>
rlamy py3.5 714cdd09fc99 /pypy/interpreter/pyparser/: backout b95f1240ad90: this was fixed in CPython 3.*
michaelgreene has quit [Remote host closed the connection]
michaelgreene has joined #pypy
oberstet has joined #pypy
marky1991_2 is now known as marky1991
marky1991 is now known as Guest25555
Guest25555 is now known as marky1991_2
<kenaan_>
rlamy py3.5 5d5dfbb116aa /lib-python/3/inspect.py: Allow inspect._signature_from_callable() to work on builtins (by handling them like user functions)
<kenaan_>
rlamy py3.5 b05acdc71ad8 /lib-python/3/test/test_inspect.py: update test for PyPy
<kenaan_>
rlamy py3.5 1465066182bd /lib-python/3/test/test_inspect.py: tweak test
<pjenvey>
fijal: cool, does this branch translate? (it could use a merge from default)
<pjenvey>
it did last time I tried it
<pjenvey>
I'll assume so
<fijal>
Yeah
asmeurer__ has joined #pypy
asmeurer__ has quit [Client Quit]
asmeurer_ has joined #pypy
Rhy0lite has quit [Quit: Leaving]
asmeurer_ has quit [Quit: asmeurer_]
<kenaan_>
rlamy py3.5 a3c86e99e3e4 /pypy/module/cpyext/: PyUnicode_FromObject only works on instances of str
pilne has joined #pypy
traverseda has quit [Ping timeout: 248 seconds]
<kenaan_>
rlamy py3.5 6f9bbe108de5 /lib-python/3/test/test_capi.py: skip or tweak tests
traverseda has joined #pypy
antocuni has quit [Ping timeout: 255 seconds]
traverseda has quit [Ping timeout: 248 seconds]
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
traverseda has joined #pypy
<kenaan_>
rlamy py3.5 66f524561285 /: Unskip _testcapi tests that should pass, skip those that cannot
<kenaan_>
rlamy py3.5 57dc41aeb601 /pypy/module/cpyext/: Check for NULL in PyMemoryView_FromBuffer
shodan45 has quit [Remote host closed the connection]
shodan45 has joined #pypy
<fijal>
pjenvey: let me know how it goes
<fijal>
pjenvey: if it adds up (even if you take 10x smaller memory_pressure part), we have a start
<fijal>
I'll try to add jit-vs-no-jit-gc-allocated part too, but it's a bit harder
yuyichao has quit [Ping timeout: 248 seconds]
yuyichao has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
<kenaan_>
rlamy py3.5 69a07b055bdd /pypy/module/cpyext/: Define SIZEOF_WCHAR_T in pyconfig.h and copy CPython logic for the related Py_UNICODE_XXX defines
marky1991 has quit [Ping timeout: 268 seconds]
Garen has joined #pypy
dw_ has joined #pypy
dw has quit [Read error: Connection reset by peer]