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)"
danieljabailey has quit [Quit: ZNC 1.6.5+deb2build2 - http://znc.in]
danieljabailey has joined #pypy
[Arfrever] has quit [Ping timeout: 248 seconds]
[Arfrever] has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 252 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 256 seconds]
marr has quit [Ping timeout: 256 seconds]
[Arfrever] has quit [Ping timeout: 256 seconds]
altendky has quit [Quit: Connection closed for inactivity]
energizer has quit [Ping timeout: 252 seconds]
energizer has joined #pypy
[Arfrever] has joined #pypy
energizer has quit [Disconnected by services]
energizer has joined #pypy
tbodt has joined #pypy
zmt00 has quit [Quit: Leaving]
zmt00 has joined #pypy
jcea has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
squeaky_pl has joined #pypy
amaury has quit [Ping timeout: 248 seconds]
squeaky_pl has quit [Ping timeout: 252 seconds]
dddddd has quit [Remote host closed the connection]
glyph has quit [Quit: End of line.]
glyph has joined #pypy
speeder39 has quit [Quit: Connection closed for inactivity]
jamesaxl has joined #pypy
energizer has quit [Ping timeout: 240 seconds]
inad922 has quit [Ping timeout: 256 seconds]
energizer has joined #pypy
TheAdversary has quit [Remote host closed the connection]
TheAdversary has joined #pypy
TheAdversary has quit [Remote host closed the connection]
TheAdversary has joined #pypy
energizer has quit [Disconnected by services]
energizer has joined #pypy
amaury has joined #pypy
amaury has quit [Ping timeout: 240 seconds]
inad922 has joined #pypy
inhahe_ has joined #pypy
inhahe_ has quit [Client Quit]
inhahe_ has joined #pypy
<lesshaste> hi all
<fijal> hey
inhahe_ has quit []
antocuni has joined #pypy
inhahe_ has joined #pypy
Gonsor has joined #pypy
marr has joined #pypy
amaury has joined #pypy
inhahe_ has quit []
inhahe_ has joined #pypy
asmeurer has quit [Quit: asmeurer]
amaury has quit [Ping timeout: 245 seconds]
squeaky_pl has joined #pypy
solarjoe4 has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
energizer has quit [Ping timeout: 252 seconds]
amaury has joined #pypy
<lesshaste> seems like an interesting (odd) way to do it!
raynold has quit [Quit: Connection closed for inactivity]
<Rotonen> in the meanwhile rubinius lost all of its pull in the ruby world?
<lesshaste> Rotonen, good question
<lesshaste> but I don't get a JIT that outputs C code I have to admit
<lesshaste> do you understand what it is doing?
antocuni has joined #pypy
adamholmberg has joined #pypy
inhahe_ has quit []
inhahe_ has joined #pypy
raynold has joined #pypy
<tos9> Rotonen: I think rubinius removed its jit
<Rotonen> that's rather interesting as it was the selling point of it back in the day (and being c ext compatible), but i suppose mr. shirai went in deeper for the rubinius x (or his consulting clients had no actual use for the jit)
<Rotonen> i've been off ruby for ~5 years now, so i'm terribly out of date
<fijal> lesshaste: there are very serious problems with that approach
<gsnedders> how are they running the JITed code? dynamically loading it?
adamholmberg has quit [Ping timeout: 245 seconds]
adamholmberg has joined #pypy
Rhy0lite has joined #pypy
squeaky_pl has quit [Ping timeout: 240 seconds]
<lesshaste> fijal, could you summarise a couple for us please
<fijal> lesshaste: loading time is atrocious
altendky has joined #pypy
dddddd has joined #pypy
jcea has joined #pypy
squeaky_pl has joined #pypy
<cfbolz> lesshaste: also a lot of the things a JIT does are hard to express in C
<arigato> in some cases I think it can give good results, but mostly cases where the program is not too complicated and runs for a very long time
<arigato> in the case of pypy it might in theory help performance of very-long-running programs, e.g. if we sent to the C compiler what looks like the final tree of jitter assembler
<arigato> s/jitter/jtted
marky1991 has joined #pypy
<arigato> or otherwise, maybe you can get some not-quite-awful results by just naively translating the bytecode to C
<gsnedders> cfbolz: is it worse than LLVM IR (e.g.) for that, though? I can't think many cases where it's much better.
<arigato> attempts to do that usually blow up massively the code cache of the CPU, but maybe it might work with very-non-aggressive jitting
<arigato> gsnedders: C code can be compiled to LLVM IR, so of course C code doesn't have more flexibility, but possibly a little bit less
<gsnedders> arigato: right, I'm just wondering if the extra flexibility actually buys you much from a JIT POV, and I can't think of many things where it would be helpful
<arigato> there are a few experiments in the LLVM IR, like stack maps
<arigato> and something to help with patchable points
<gsnedders> yeah, stack maps and patch points was all that came to mind, but for some reason I doubt they're doing anything like that when they're using C, because then they'd realise how crazy it is :)
<arigato> that's not accessible from C anyway, and last I checked it was not really accepted in standard LLVM IR either
<arigato> it's some kind of experimental extension
<gsnedders> IIRC the main thing that "experimental" means is semantics can change across releases
<arigato> in practice with LLVM it means "likely contains corner-case bugs"
<arigato> (not specifically a criticism of LLVM, more like a general critic of how hard it is to get compilers being correct, so rarely-used features tend not to be correct)
<gsnedders> and that's probably got worse after JSC's FTL stopped using it, I'd bet
<arigato> the secret reason for us trying to get pypy users: to test the JIT well enough that we're somewhat confident about it :-)
<cfbolz> Lol
squeaky_pl has quit [Ping timeout: 240 seconds]
solarjoe4 has quit [Quit: Leaving]
inad922 has quit [Ping timeout: 245 seconds]
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
<Rotonen> the magic is already all gone? :(
<cfbolz> no, but the topic is
<Rotonen> hurts me, but emoji does compress well for such jokes: 🎩🐰
solarjoe4 has joined #pypy
amaury has quit [Quit: Konversation terminated!]
solarjoe4 has quit [Quit: Leaving]
marky1991 has quit [Ping timeout: 256 seconds]
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
<lesshaste> cfbolz, I can imagine!
<lesshaste> fijal, thanks
Gonsor has quit [Ping timeout: 252 seconds]
mattip has joined #pypy
<kenaan> mattip pypy.org[extradoc] fa51d386eb32 /: fix issue #2765
RealBrianWarner has joined #pypy
Gonsor has joined #pypy
<RealBrianWarner> Hi all, I have a question on pypy3 and pip. I see from the docs that one way to use pip is to first run 'pypy -m ensurepip'. It worked great, and I was able to successfully install pymysql from source and verified it works in pypy3. I'm not clear what ensurepip does or why it works, and would like to understand it better. Can anybody point me towards some documentation?
<Alex_Gaynor> RealBrianWarner: ensurepip is from the standard library, it's basically a frozen pip that knows how to bootstrap a real pip install: https://docs.python.org/3/library/ensurepip.html
marky1991 has quit [Remote host closed the connection]
squeaky_pl has joined #pypy
<RealBrianWarner> Thanks Alex_Gaynor, that's helpful and appreciated.
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
asmeurer__ has joined #pypy
tbodt has joined #pypy
asmeurer__ has quit [Ping timeout: 256 seconds]
ebarrett has quit [Quit: WeeChat 1.9.1]
antocuni has quit [Ping timeout: 245 seconds]
asmeurer__ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
asmeurer__ has quit [Ping timeout: 240 seconds]
squeaky_pl has quit [Ping timeout: 256 seconds]
tbodt has joined #pypy
<nanonyme> Alex_Gaynor, does this basically mean you're maintaining a pip snapshot in your standard library?
<Alex_Gaynor> nanonyme: that is approximately what cpython does (which then gets mirrored into pypy), yes
asmeurer__ has joined #pypy
<Rotonen> https://bootstrap.pypa.io/ <- there's also this they offer, for being dynamic and fetching over the network
<nanonyme> Right
<nanonyme> Wasn't it that ensurepip uses separate wheels on Debian or so?
<nanonyme> Some compromise mechanism that allowed having ensurepip at all
<Rotonen> nanonyme: https://bugs.python.org/issue25151 <- debian ships its own which tells the user the package they need to install
<Rotonen> i'd not count that a compromise, but a sane debian way to do the debian thing - opinions will vary
drolando has quit [Read error: Connection reset by peer]
drolando has joined #pypy
<nanonyme> Rotonen, I mean, the thing that Debian ships is iirc a bunch of wheels that ensurepip can use
<nanonyme> Before that iteration they just nuked ensurepip with no good workarounds
RealBrianWarner has quit [Ping timeout: 252 seconds]
RealBrianWarner has joined #pypy
<Rotonen> due to using zodb most of the time i've been staving off pythons i've not compiled myself (due to ucs2 vs. ucs4 being a thing), it seems i've just missed all that fun due to that
squeaky_pl has joined #pypy
energizer has joined #pypy
squeaky_pl has quit [Ping timeout: 252 seconds]
marky1991 has quit [Read error: Connection reset by peer]
marky1991 has joined #pypy
<mattip> the error "assert 65535 not in [17, 28, 1, 32, 65535, 11, ...]" in AbstractMatchContext.__init__(self, pattern, match_start, end, flags)
<mattip> appears in many untranslated py3.5 tests on windows, like this one
<mattip> is that a false positive, if so what value should not appear in the list on windows?
<cfbolz> mattip: that's a question for arigato
<mattip> there is probably a design document for python handling of unicode, what surrogates are allowed, how mcbs encoding works
<mattip> and more, but I haven;t found it yet, it all seems so magical still to me
<nanonyme> Luckily 3.6 mostly kills mbcs
RealBrianWarner has quit [Quit: Leaving]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
lritter has joined #pypy
tbodt has joined #pypy
Rhy0lite has quit [Quit: Leaving]
<mattip> does the unicode-utf8 branch ease some of this pain?
inad922 has joined #pypy
inad922 has quit [Ping timeout: 268 seconds]
inad922 has joined #pypy
<cfbolz> mattip: in theory, yes
<kenaan> mattip py3.5 ac0bb5a87469 /pypy/interpreter/test/test_zpy.py: fix a test
<kenaan> mattip py3.5 751419a5d521 /rpython/translator/platform/windows.py: support finding vc14.1, vc15.0
<kenaan> mattip py3.5 ec983c59504a /pypy/module/_posixsubprocess/test/: skip _posixsubprocess tests on win32
<mattip> the failing test that was fixed in ac0bb5a87469 had so much output that buildbot trunctated own test reporting
forgottenone has joined #pypy
<bbot2> Started: http://buildbot.pypy.org/builders/own-win-x86-32/builds/1709 [mattip: force build, py3.5]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
forgottenone has quit [Quit: Konversation terminated!]
mattip has left #pypy ["Leaving"]
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
drolando has joined #pypy
<kenaan> cfbolz call-loopinvariant-into-bridges 8fd1d7d0d6a1 /rpython/jit/metainterp/test/test_resume.py: fix test
<kenaan> cfbolz call-loopinvariant-into-bridges 4a4d26fec6fc /rpython/jit/metainterp/test/test_bridgeopt.py: next test I'd like to pass somehow
<kenaan> cfbolz call-loopinvariant-into-bridges 89f271b2dd38 /rpython/jit/metainterp/: lift the restriction that cached heap fields that are stored across bridges have to be in ...
antocuni has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-win-x86-32/builds/1709 [mattip: force build, py3.5]
marky1991 has quit [Ping timeout: 252 seconds]
lritter has quit [Ping timeout: 256 seconds]
squeaky_pl has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
inad922 has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
jmcp has joined #pypy
<jmcp> I have a question about cffi's test_zdistutils.py. https://github.com/chevah/python-cffi/blob/master/testing/cffi0/test_zdistutils.py#L244 what is dont_call_me_any_more supposed to return? Also, what is that entire line supposed to achieve?
jcea has quit [Remote host closed the connection]
jcea has joined #pypy
jamesaxl has quit [Quit: WeeChat 2.0.1]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 245 seconds]
inhahe_ has quit []
inhahe_ has joined #pypy
forgottenone has joined #pypy