cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | the secret reason for us trying to get PyPy users: to test the JIT well enough that we're somewhat confident about it
forgottenone has quit [Quit: Konversation terminated!]
LooCfur has joined #pypy
planrich has quit [Ping timeout: 240 seconds]
marr has quit [Ping timeout: 260 seconds]
lritter_ has joined #pypy
lritter has quit [Ping timeout: 256 seconds]
nimaje has quit [Killed (karatkievich.freenode.net (Nickname regained by services))]
nimaje has joined #pypy
nimaje has quit [Excess Flood]
nimaje has joined #pypy
drolando has quit [Ping timeout: 264 seconds]
nimaje has quit [Ping timeout: 265 seconds]
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
lritter_ has quit [Quit: Leaving]
drolando has joined #pypy
drolando has quit [Quit: Textual IRC Client: www.textualapp.com]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
adamholmberg has quit [Remote host closed the connection]
forgottenone has joined #pypy
forgottenone has quit [Ping timeout: 265 seconds]
Graypup_ has quit [Ping timeout: 240 seconds]
adamholmberg has joined #pypy
kenaan has quit [Ping timeout: 245 seconds]
adamholmberg has quit [Ping timeout: 264 seconds]
jerith has quit [Ping timeout: 240 seconds]
jerith has joined #pypy
Graypup_ has joined #pypy
stduolc has joined #pypy
LooCfur has quit [Read error: Connection reset by peer]
LooCfur_ has joined #pypy
LooCfur_ has quit [Ping timeout: 256 seconds]
dddddd has quit [Remote host closed the connection]
lritter has joined #pypy
LooCfur has joined #pypy
stduolc has quit [Quit: Connection closed for inactivity]
nimaje has quit [Remote host closed the connection]
MerlinTheWizard has joined #pypy
<MerlinTheWizard> Hi all.
<MerlinTheWizard> Can anyone tell me what architectural barriers there might be to making pypy as fast as node.js?
nimaje has joined #pypy
<simpson> MerlinTheWizard: I suppose that you'd have to first find a way to compare the speed of PyPy and Node meaningfully. Do you have a way of measuring this?
nimaje has quit [Remote host closed the connection]
<MerlinTheWizard> Not sure if that's a good test or not.
<MerlinTheWizard> Are there better ones?
<simpson> MerlinTheWizard: That's a single benchmark and it's nqueens. You'd have to, at a minimum, have some real-world example code.
jamesaxl has joined #pypy
<MerlinTheWizard> simpson, there is this: https://benchmarksgame-team.pages.debian.net/benchmarksgame/compare/node-python3.html. This is just cpython I think. But if we know pypy speed vs cpython, I think we could maybe guess at pypy vs node.
<simpson> It'd be nice to not guess. Unfortunately, the owners of the benchmark game are kind of silly about their rules, so it could be hard to make a reasonable comparison.
<simpson> The problem is that speed is often something that PyPy could improve for a particular application, but not necessarily for everybody.
<MerlinTheWizard> simpson, I do feel that doing something like running a braindead simple recursive function can be pretty indicative of overall performance.
<simpson> Okay. We don't, though. PyPy speed bugs are example-driven. There's not much that can be done for a bug that just says 'make this synthetic benchmark faster'
<MerlinTheWizard> simpson, so it sounds like the pypy optimization approach isn't really comparing with other languages at all?
<simpson> MerlinTheWizard: I'm saying that for *any* two interpreters which interpret totally different languages, comparing them is ultimately a matter of picking the programs to compare.
<simpson> I'm also saying that the PyPy team cares more about whether your *actual* Python program is slow.
<MerlinTheWizard> simpson, yes, I gather that python has always relied on C backend code when serious speed is needed. I was kind of wondering if Python would ever get beyond this paradigm.
<MerlinTheWizard> It would seem like that would be beneficial, since there is such a huge volume of code written in python.
mattip has quit [Ping timeout: 264 seconds]
mattip has joined #pypy
nimaje has joined #pypy
nimaje has quit [Excess Flood]
nimaje has joined #pypy
oberstet has joined #pypy
illume has joined #pypy
forgottenone has joined #pypy
lritter has quit [Quit: Leaving]
inhahe__ has quit [Ping timeout: 276 seconds]
inhahe__ has joined #pypy
<cfbolz> MerlinTheWizard: to make pypy as fast as node, the thing that is needed is money
<cfbolz> PyPy runs on a shoestring budget, compared to what Google invests into V8
<MerlinTheWizard> cfbolz, that's what I would imagine. It seems to me that if you've got a compiler under the hood, as pypy does, then assuming there are no architectural issues standing in the way, it should be possible to do the same thing with PyPy that is done with V8.
<cfbolz> well, the languages are very different
<cfbolz> their details differ
<MerlinTheWizard> cfbolz, yes. And I'm sort of new to Python. So I'm wondering if any of those details might impede optimization efforts. From what I know of the language so far, it seems like the answer should be 'no'. But of course I know very little about it right now.
<cfbolz> MerlinTheWizard: well, javascript has more annoying properties, really
<MerlinTheWizard> Are you involved in PyPy.js?
<MerlinTheWizard> cfbolz: ^
<cfbolz> no
<cfbolz> it's not an official part of the project
<MerlinTheWizard> Ah, ok.
<cfbolz> yep, I wrote that (long ago) but it's not how pypy's re module is jitted at all
<cfbolz> (that is jitted too, but differently)
<MerlinTheWizard> cfbolz, have you read this? https://www.rfk.id.au/blog/entry/pypy-js-faster-than-cpython/
<cfbolz> yep
<cfbolz> still, pypy.js is a bit of a strange beast
<MerlinTheWizard> Is it hard grafting python onto javascript that way?
AndrewBC has joined #pypy
<MerlinTheWizard> I'm asking because I'm thinking of maybe one day writing a python layer on top of scheme.
<MerlinTheWizard> cfbolz ^
<cfbolz> on top of v8 you can kind of do this kind of layering, because it has a great jit
<cfbolz> but still
<MerlinTheWizard> Well, the asm.js part compiles in a pretty direct way to machine code. That helps the speed part, but perhaps not the grafting part.
<cfbolz> but still, you need two jits
<cfbolz> so the warmup will always suck
<MerlinTheWizard> cfbolz, so you can't just simply translate python to asm.js?
<cfbolz> ahead of time? no
<cfbolz> that never works
<MerlinTheWizard> Why not?
<MerlinTheWizard> asm.js has a gc, n'est-ce pas?
<cfbolz> no, it does not
<MerlinTheWizard> Oh, you're right. That's the problem.
<cfbolz> no, that's not the problem
<cfbolz> not the only one
<cfbolz> what code do you generate for "a + b"?
<MerlinTheWizard> cfbolz, what about translating to another highly optimizable subset of JS w/ GC.
<cfbolz> never going to be fast
<MerlinTheWizard> cfbolz, I see, so type system issues
<MerlinTheWizard> Ok
<MerlinTheWizard> cfbolz, what if you tuned that subset of JS to be fast?
<MerlinTheWizard> (I"m sure this is all pie in the sky, but I have to ask)
<cfbolz> sorry, for a dynamic language like python or js you need a jit
<cfbolz> that's tuned for that language
energizer has quit [Ping timeout: 265 seconds]
antocuni has joined #pypy
LooCfur_ has joined #pypy
LooCfur has quit [Read error: Connection reset by peer]
asmeurer has quit [Quit: asmeurer]
lazka has joined #pypy
<lazka> hm, trying master now and things crash in _PyTuple_Resize
antocuni has quit [Ping timeout: 260 seconds]
lazka has quit [Remote host closed the connection]
AndrewBC has quit [Read error: Connection reset by peer]
LooCfur_ has quit [Ping timeout: 276 seconds]
LooCfur has joined #pypy
forgottenone has quit [Remote host closed the connection]
forgottenone has joined #pypy
forgottenone has quit [Ping timeout: 240 seconds]
forgottenone has joined #pypy
Gonsor has joined #pypy
marr has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
LooCfur has quit [Ping timeout: 276 seconds]
LooCfur has joined #pypy
LooCfur has quit [Read error: Connection reset by peer]
LooCfur has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
LooCfur_ has joined #pypy
illume has joined #pypy
LooCfur has quit [Ping timeout: 260 seconds]
LooCfur_ has quit [Read error: Connection reset by peer]
utkarsh has quit [Read error: Connection reset by peer]
utkarsh_ has joined #pypy
dstufft has quit [Excess Flood]
dstufft has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mcyprian has joined #pypy
planrich has joined #pypy
oberstet has quit [Ping timeout: 260 seconds]
forgottenone has quit [Read error: Connection reset by peer]
illume has joined #pypy
dddddd has joined #pypy
jamesaxl has quit [Quit: WeeChat 2.0.1]
jamesaxl has joined #pypy
antocuni has joined #pypy
antocuni has quit [Ping timeout: 264 seconds]
nimaje has quit [Ping timeout: 265 seconds]
Gonsor has quit [Ping timeout: 265 seconds]
pf_moore has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
asmeurer_ has joined #pypy
asmeurer_ has quit [Ping timeout: 265 seconds]
energizer has joined #pypy
nimaje has joined #pypy
energizer has quit [Remote host closed the connection]
nimaje1 has joined #pypy
nimaje is now known as Guest33493
nimaje1 is now known as nimaje
Guest33493 has quit [Remote host closed the connection]
energizer has joined #pypy
nimaje has quit [Remote host closed the connection]
energizer has quit [Remote host closed the connection]
energizer has joined #pypy
nimaje has joined #pypy
nimaje has quit [Remote host closed the connection]
lazka has joined #pypy
nimaje has joined #pypy
nimaje has quit [Excess Flood]
nimaje has joined #pypy
lazka has quit [Quit: Leaving]
nimaje has quit [Remote host closed the connection]
nimaje has joined #pypy
kenaan has joined #pypy
<kenaan> mattip default 766c77b4baf4 /pypy/doc/release-v6.0.0.rst: pygobject, not pygtk (lazka)
<kenaan> mattip default 5014ee1237e8 /pypy/module/cpyext/: test, fix for issue #2792 (resizing non-initialized PyTuple), also add fast-path optimization
commandoline has quit [Ping timeout: 256 seconds]
commandoline has joined #pypy
lritter has joined #pypy
leshaste has quit [Quit: Leaving]
dddddd has quit [Ping timeout: 260 seconds]
nunatak has joined #pypy
dddddd has joined #pypy
raynold has joined #pypy
_whitelogger has joined #pypy
planrich has quit [Ping timeout: 268 seconds]
planrich has joined #pypy
nunatak has quit [Quit: Leaving]
mattip has left #pypy ["bye"]
<kenaan> mattip cpyext-subclass-setattr cff9f23aad6e /: close branch to be merged
<kenaan> mattip default be473ba66a18 /pypy/: merge cpyext-subclass-setattr which fixes cpyext pyobjects "losing" a w_obj
<kenaan> mattip default ab000b7b9ac5 /pypy/doc/whatsnew-head.rst: document merged branch
dddddd has quit [Remote host closed the connection]
danieljabailey has quit [Ping timeout: 268 seconds]
TheAdversary has joined #pypy
Hasimir has joined #pypy
tbodt has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
dpn` has quit [Ping timeout: 256 seconds]