mat^2 has quit [Ping timeout: 240 seconds]
adw1n has quit [Ping timeout: 240 seconds]
adw1n has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mat^2 has joined #pypy
yuyichao has quit [Ping timeout: 240 seconds]
tilgovi has joined #pypy
<tos9> ronan / logs: This is what I am going to try to make less terrible if you're curious: https://bpaste.net/show/36fca87b6cf9
<tos9> I know all the getattr / setattr business is going to kill the JIT too
<tos9> And I want to do that thing about 1 million times per second
mat^2 has quit [Ping timeout: 240 seconds]
jcea has quit [Quit: jcea]
yuyichao has joined #pypy
tilgovi has quit [Ping timeout: 246 seconds]
adwin_ has joined #pypy
adw1n has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
lritter_ has joined #pypy
lritter has quit [Ping timeout: 240 seconds]
ArneBab has joined #pypy
<njs> is getattr(foo, "bar") a thing that makes pypy unhappy, as compared to foo.bar?
<dash> njs: Pretty sure if it's a literal it'll compile the same
<dash> but of course, if it isn't it has to take the slow path
<njs> what if it's a closed over variable that never changes for a given function object? :-)
ArneBab_ has quit [Ping timeout: 260 seconds]
asmeurer_ has quit [Quit: asmeurer_]
<njs> I have a situation where I have to generate some annoyingly complicated wrapper classes, and I'm wondering whether pypy has a strong preference between these three main options: https://paste.pound-python.org/show/dAQqrODnpnNw4UjU7JIH/
<njs> (it's also possible there are other options I'm missing)
ansichart has joined #pypy
<ansichart> I am trying to build PyPy from source, and I am confused, because the README says to build with "rpython/bin/rpython -Ojit pypy/goal/targetpypystandalone.py" but it shows "/usr/bin/env: pypy: No such file or directory" ... it's trying to use pypy to build pypy, wtf
<tumbleweed> well if you have a pypy to build it with, it'll go faster
<ansichart> catch-22
<tumbleweed> you can use cpython instead
<ansichart> I was expecting a ./configure script
<ansichart> ok, I'll use CPython
<tumbleweed> or start with a pre-build pypy you get from somewhere else
<ansichart> using pypy to compile pypy just seems funny to me. Like I guess if you're upgrading pypy from new source and you already have it, or building it for another machine
<tumbleweed> pretty normal for programming languages, they often self-host
<ansichart> interesting
<ansichart> i guess if the compiler does fancy optimizations, it can make the compiler itself faster by compiling it with it
<tumbleweed> if people care enough to build a compiler / interpreter, they probably want to get to use it too
<ansichart> yea that makes sense now
<ansichart> Wow this is a very colorful compile script
<ansichart> somebody was on acid when they wrote this
<njs> interesting -- in those proxy examples I pasted, on cpython it's option 1 that's the slowest and option 3 that's the fastest, with a factor of ~2x separating them
<njs> on pypy, option 3 is ~5x faster than option 1, which is ~3x faster than option 2
<njs> in conclusion, automatically generating code and passing it to exec() is a great idea and we should do it more
<dash> yes we realized this as well
<dash> OTOH we're doing it in rpython which is a shade different
<ansichart> So I understand that CPython creates .pyc files which is bytecode that runs in the Python Virtual Machine... does pypy essentially do the same thing by creates OBJ files, the actual machine assembly code?
<njs> I wonder if there's some less horrible way to do it via ASTs, because the quoting issues are making me itch
<njs> ansichart: no, PyPy also generates bytecode that's very very similar to CPython's bytecode, and then executes it on a very very similar virtual machine
<dash> ansichart: the extra flavor pypy provides is a JIT compiler in the VM which will translate hot loops to native code
<dash> but cold paths run very similarly to how they do in cpython
<njs> ansichart: but then there's a mind-bending thing where another piece of code watches what the virtual machine is doing, and if it notices that it's doing the same thing a lot then it generates some native code in memory and starts executing that
<ansichart> So does that mean that only parts of the byte code is translated to native machine code?
<dash> pypy has other improvements in the runtime such as a moving gc, better dict implementation, etc
<dash> ansichart: Right. Generating machine code takes time, so it's only done for code paths where the time savings are likely to be greater than it costs to do the code gen.
<njs> yes, a given piece of byte code might get translated to machine code 0 times, 1 times, or more than 1 times (e.g. the same python function might be called on both floats and integers, and pypy might compile a separate version for each of these)
<ansichart> Is it possible to have pypy generate the whole thing into machine code that you can link to an ELF format?
<dash> ansichart: No, because it generates machine code for a specific trace, which depends on the inputs to the program
<ansichart> Oh right, because it's a JIT
<simpson> ansichart: You are still thinking of AOT compilers. JIT compilers have to do their work just before running code; it's the only time when all the data is availbable.
<ansichart> JIT Compiler*
<dash> ansichart: it can't generate code ahead of time, because it depends on runtime type information to decide what to generate.
<simpson> *available even.
gclawes_ has joined #pypy
<njs> huh, and on pypy if I do 'obj.foo = obj._wrapped.foo' in my __init__, then obj.foo() is still about 2x slower than a method that does def foo(self): return self._wrapped.foo(). that's quirky.
<njs> (in a silly microbenchmark of course)
gclawes has quit [Ping timeout: 245 seconds]
ansichart has quit [Quit: ansichart]
tbodt has joined #pypy
pilne has quit [Quit: Quitting!]
vkirilichev has quit [Ping timeout: 245 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
asmeurer_ has joined #pypy
fniephaus has quit [Ping timeout: 255 seconds]
fniephaus has joined #pypy
tbodt has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
asmeurer_ has joined #pypy
vkirilichev has joined #pypy
adwin_ has quit [Ping timeout: 240 seconds]
vkirilichev has quit [Ping timeout: 260 seconds]
vkirilichev has joined #pypy
ansichart has joined #pypy
<ansichart> What is the full version string of the current "https://bitbucket.org/pypy/pypy"
<ansichart> I don't get this bitbucket thing, not clear what the full version string is
<ansichart> I am at the step of doing "./package.py --archive-name=pypy-VER-PLATFORM" in http://doc.pypy.org/en/latest/build.html, but no where does it specify how to determine what the version is.
<ansichart> "hg clone http://bitbucket.org/pypy/pypy pypy" grabs the latest, but doesn't show the version anywhere
<ansichart> nevermind, ./pypy-c --version
DragonSA has joined #pypy
DragonSA has joined #pypy
DragonSA has quit [Changing host]
lritter_ has quit [Quit: Leaving]
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
<ansichart> that ASCII image that rpython produces when building pypy from source... is that the Mandlebrot set?
<ansichart> that fractal
jamesaxl has quit [Read error: Connection reset by peer]
vkirilichev has quit [Remote host closed the connection]
asmeurer_ has quit [Quit: asmeurer_]
<LarstiQ> ansichart: yes
<LarstiQ> ansichart: version and platform are things you choose yourself, per se
<LarstiQ> having it match --version is sensible
jamesaxl has joined #pypy
<ansichart> LarstiQ thx
oberstet2 has joined #pypy
Taggnostr2 has joined #pypy
oberstet has quit [Ping timeout: 258 seconds]
Taggnostr has quit [Ping timeout: 240 seconds]
sms has quit [Quit: WeeChat 1.8]
tilgovi has joined #pypy
vkirilichev has joined #pypy
adw1n has joined #pypy
realitix has joined #pypy
<cfbolz> tos9: if you write me a self contained micro benchmark, I'll optimize it for you
ansichart has quit [Quit: ansichart]
adw1n has quit [Ping timeout: 240 seconds]
<kenaan> danchr py3.5 86914a929334 /pypy/module/posix/: Fix translation on OS X (and likely FreeBSD as well) BSDs don't provide SCHED_BATCH, so remove the assert that chec...
cstratak has joined #pypy
amaury has joined #pypy
DragonSA has quit [Quit: Konversation terminated!]
cstratak has quit [Quit: Leaving]
cstratak has joined #pypy
mat^2 has joined #pypy
marr has joined #pypy
cstratak has quit [Quit: Leaving]
cstratak has joined #pypy
nimaje1 has joined #pypy
nimaje is now known as Guest38399
nimaje1 is now known as nimaje
Guest38399 has quit [Killed (weber.freenode.net (Nickname regained by services))]
amaury has quit [Quit: Konversation terminated!]
amaury has joined #pypy
mat^2 has quit [Quit: Leaving]
jamesaxl has quit [Read error: Connection reset by peer]
cjwelborn has quit [Ping timeout: 272 seconds]
jamesaxl has joined #pypy
cjwelborn has joined #pypy
cstratak has quit [Quit: Leaving]
jcea has joined #pypy
cstratak has joined #pypy
vkirilic_ has joined #pypy
tilgovi has quit [Ping timeout: 246 seconds]
vkirili__ has joined #pypy
vkirilichev has quit [Ping timeout: 260 seconds]
amaury has quit [Ping timeout: 246 seconds]
vkirilic_ has quit [Ping timeout: 260 seconds]
vkirilichev has joined #pypy
vkirili__ has quit [Read error: Connection reset by peer]
amaury has joined #pypy
Rhy0lite has joined #pypy
jamadden has joined #pypy
vkirilic_ has joined #pypy
vkirilichev has quit [Ping timeout: 240 seconds]
amaury has quit [Ping timeout: 272 seconds]
marr has quit [Ping timeout: 240 seconds]
vkirilic_ has quit [Remote host closed the connection]
<tos9> cfbolz: Ah thanks that's very kind of you. Will do, after spending about a half hour on it myself to see how close I manage to get :)
aboudreault has quit [Excess Flood]
jamesaxl has quit [Ping timeout: 268 seconds]
aboudreault has joined #pypy
pilne has joined #pypy
<kenaan> rlamy py3.5 002279b09536 /pypy/interpreter/app_main.py: fix syntax error (oops!)
mattip has joined #pypy
realitix has quit [Ping timeout: 260 seconds]
jamesaxl has joined #pypy
<mattip> hi
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5221 [mattip: force build, py3.5]
<mattip> any thoughts on py3.5 linux32, osx, win32? Can we make them work enough for the 5.8 release?
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/5974 [ronan: force build, py3.5]
jamesaxl has quit [Read error: Connection reset by peer]
aboudreault has quit [Excess Flood]
jamesaxl has joined #pypy
aboudreault has joined #pypy
realitix has joined #pypy
<kenaan> mattip default 4db703b9f72e /pypy/doc/release-v5.8.0.rst: tweak release notice, assume cffi 1.11 will be released in parallel
<mattip> suggestions for improvements to the release notice are welcome
jamesaxl has quit [Ping timeout: 255 seconds]
<kenaan> mattip release-pypy2.7-5.x c0b4e6c36ee6 /: merge default into release
<mattip> hmm, not quite ready yet, it seems clang does not like the cffi complex number code
<danchr> mattip: I got PyPy building yesterday, and it seems to work well
<danchr> I've pushed my fix
<mattip> cool! thanks for the fix
<danchr> np :)
<mattip> now if we could just find a way to package it with the openssl dynalibs
<mattip> like cpython
* mattip off, see ya
mattip has left #pypy ["bye"]
adw1n has joined #pypy
antocuni has quit [Ping timeout: 260 seconds]
antocuni has joined #pypy
jamescampbell has joined #pypy
cstratak has quit [Quit: Leaving]
jamesaxl has joined #pypy
marky1991 has joined #pypy
marr has joined #pypy
adw1n has quit [Ping timeout: 240 seconds]
jamescampbell has quit [Quit: Leaving...]
yuyichao has quit [Ping timeout: 245 seconds]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/5974 [ronan: force build, py3.5]
arigato has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5221 [mattip: force build, py3.5]
jamescampbell has joined #pypy
yuyichao has joined #pypy
arigato has quit [Quit: Leaving]
jamescam_ has joined #pypy
<tos9> cfbolz: If the offer is still open :) https://drive.google.com/file/d/0B5cnPJjmiafzb0x5UXRQWWdjSFU/
jamescampbell has quit [Ping timeout: 272 seconds]
<tos9> cfbolz: `cd benchmark; virtualenv foo; foo/bin/pip install .; foo/bin/pypy benchmark.py` should be self contained
* tos9 is still tinkering as well
amaury has joined #pypy
<kenaan> rlamy py3.5 4048a8bdc257 /pypy/module/__builtin__/test/test_builtin.py: Fix test: Python3 rounds to even
pilne has quit [Read error: Connection reset by peer]
pilne has joined #pypy
rmesta has joined #pypy
marr has quit [Ping timeout: 240 seconds]
rmesta has left #pypy [#pypy]
jamesaxl has quit [Ping timeout: 240 seconds]
realitix has quit [Quit: Leaving]
tbodt has joined #pypy
oberstet2 has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
jamescam_ has quit [Remote host closed the connection]
lritter has joined #pypy
<cfbolz> tos9: I'm about to leave for a long weekend, so offer still stands, but not before Monday / Tuesday
<cfbolz> Sorry
<Cheery> it looks like I cannot iterate through RWeakKeyDictionary
<Cheery> I would like to create finalizers that run at the exit if they don't run before that.
<Cheery> and thought about implementing them with weak references, but there I got a sort of dilemma.
asmeurer_ has quit [Quit: asmeurer_]
amaury has quit [Ping timeout: 245 seconds]
<tos9> cfbolz: Cool no worries :)
<tos9> cfbolz: Enjoy
realitix has joined #pypy
Rhy0lite has quit [Quit: Leaving]
<realitix> hello fijal, small question (cffi): With ABI mode, when you use set_source, it's only for out-of-line module generation ? You don't need set_source with in-line mode ?
realitix has quit [Ping timeout: 240 seconds]
vkirilichev has joined #pypy
kipras`away is now known as kipras
brent- has joined #pypy
jamescampbell has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jamescampbell has quit [Remote host closed the connection]
marr has joined #pypy
vkirilichev has quit [Remote host closed the connection]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
brent- has quit [Remote host closed the connection]
jamescampbell has joined #pypy
jamesaxl has joined #pypy
tbodt has joined #pypy
jamescampbell has quit [Quit: Leaving...]
rmesta has joined #pypy
rmesta has quit [Ping timeout: 245 seconds]
kvil has joined #pypy
realitix has joined #pypy
kvil has quit [Ping timeout: 260 seconds]
arigato has joined #pypy
arigato has quit [Quit: Leaving]
rmesta has joined #pypy
realitix has quit [Quit: Leaving]
jcea1 has joined #pypy
jcea has quit [Read error: Connection reset by peer]
jcea1 is now known as jcea
rmesta has left #pypy [#pypy]
vkirilichev has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
vkirilichev has quit [Remote host closed the connection]
vkirilichev has joined #pypy
[Arfrever] has quit [Ping timeout: 272 seconds]
[Arfrever] has joined #pypy
vkirilichev has quit [Remote host closed the connection]
amaury has joined #pypy
[Arfrever] has quit [Ping timeout: 260 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
asmeurer__ has joined #pypy
Garen_ has quit [Ping timeout: 260 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
Garen 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]
asmeurer__ has quit [Quit: asmeurer__]
jamesaxl has joined #pypy
amaury has quit [Ping timeout: 245 seconds]
jamesaxl has quit [Client Quit]