cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
speeder39_ has quit [Quit: Connection closed for inactivity]
jcea has quit [Quit: jcea]
amosbird_ is now known as amosbird
lritter has quit [Ping timeout: 240 seconds]
lritter has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
dddddd has quit [Remote host closed the connection]
andy__ has joined #pypy
andy__ has quit [Ping timeout: 240 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
_whitelogger has joined #pypy
<kenaan> mattip py3.6 be7243dd1d25 /pypy/interpreter/pyparser/parsestring.py: fix translation
<kenaan> mattip release-pypy2.7-v7.x 5285865f8958 /: merge default into branch
<kenaan> mattip default 78cd4acbcbec /pypy/: default is now 7.3.0
<kenaan> mattip release-pypy2.7-v7.x cb2be12846a2 /pypy/module/: release is now 7.2.0
<kenaan> mattip default bb5b1b1126ae /: start release cycle
<cfbolz> yay!
<cfbolz> mattip: should it be called 8.0?
<cfbolz> or did we want to wait for a valid 3.6 support?
dustinm has quit [Quit: Leaving]
dustinm has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
antocuni has joined #pypy
tsaka__ has quit [Ping timeout: 240 seconds]
tsaka__ has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<cfbolz> gah, this traceback stuff is really driving me up a wall
<mattip> cfbolz: Since there are no big changes, just lots of little improvements, ronan and I thought 7.2 would be more appropriate
<cfbolz> mattip: ok, fair enough
<mattip> it also sends a message of stability (if I understand anything about that stuff)
<cfbolz> mattip: we'll still call 3.6 a beta, right?
tsaka__ has quit [Ping timeout: 240 seconds]
BPL has joined #pypy
<mattip> I propose to remove that beta status. Should I ask the mailing list?
<kenaan> mattip default 9c2a1fc23434 /pypy/doc/release-v7.2.0.rst: update release note (from 7.1.1 release up to commit 97179-e0689d0f47c6)
<cfbolz> mattip: I would be +1 on removing the beta status
<mattip> I wrote the release note without the beta. Maybe we should still call the windows release beta
<Dejan> I assume those failing tests are not critical?
<mattip> the only one that seems bad is if you want to set a breakpoint with a line number
<mattip> but I am confident someone will fix that soon :)
<cfbolz> mattip: it requires serious thinking, I fear
tsaka__ has joined #pypy
Viech has quit [Ping timeout: 264 seconds]
Viech has joined #pypy
Viech has quit [Changing host]
Viech has joined #pypy
<mattip> we got 27 new contributors (unless some of them have duplicate bitbucket names) in 6 months, that's about one a week
<cfbolz> nice!
<mattip> I wonder if there is an api to see how many issues were opened/closed since the last release (March 24)
<kenaan> cfbolz py3.6 7ea1a4ba3ea1 /lib-python/3/test/test_peepholer.py: change test_peepholer: PyPy implements the feature, but the limit is different than CPython's
<kenaan> cfbolz py3.6 3f81620aeee8 /lib-python/3/test/test_threading.py: pypy doesn't call all finalizers during shutdown
antocuni has quit [Ping timeout: 240 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 276 seconds]
BPL has quit [Quit: Leaving]
RemoteFox has quit [Remote host closed the connection]
RemoteFox has joined #pypy
dddddd has joined #pypy
antocuni has joined #pypy
<kenaan> rlamy py3.6 199eb552dbe7 /pypy/: Remove --no-objspace-fstrings translation option: f-strings should always be enabled in 3.6
<antocuni> cfbolz: another curiosity I have while reviewing your branch
<antocuni> I am surprised that saving/reusing self.scratch saves time 😱
<antocuni> isn't our GC supposed to be good at creating/destroying temporary objects?
<cfbolz> antocuni: GC wise the json decoder is a mess. If the message is larger than the nursery we hit a bad point, because we have to make everything old and copy it out
<antocuni> ah, I see
<antocuni> ideally, we would like to be able to allocate a "temporary big nursery" and then throw everything away when we are done
<cfbolz> antocuni: it's all unfortunate. I tried various other things like this
<antocuni> how big are the messages you have benchmarked?
adamholmberg has joined #pypy
<cfbolz> antocuni: up to a few gig
<antocuni> ah, I can imagine why it is useful then: by reusing scratch you save tons of allocations which would become old if the message is nested enough
<cfbolz> antocuni: yes
adamholmberg has quit [Ping timeout: 265 seconds]
<cfbolz> antocuni: it was a pragmatic solution to the 'too many old objects' problem
<antocuni> sure, it makes sense
<cfbolz> antocuni: now I should put this into a comment
<antocuni> I was mainly wondering *why* we have that problem in the first place, but now it's clear
<antocuni> a comment would be useful, indeed
adamholmberg has joined #pypy
Viech has quit [Ping timeout: 245 seconds]
<kenaan> antocuni json-decoder-maps 1a3d5908e330 /pypy/module/_pypyjson/interp_decoder.py: more comments and review
<antocuni> cfbolz: I think I'm done with the review. Grep for <antocuni> inside the comments
<antocuni> some are just "thinking aloud" remarks, so feel free to ignore what you think it's not useful
<cfbolz> antocuni: thanks a ton! Will address and then we can merge. But I think it should probably go into 7.3
<cfbolz> antocuni: your comments are all reasonable
jcea has joined #pypy
<antocuni> it would be cool to have it in 7.2, but your choice I suppose
Viech has joined #pypy
Viech has quit [Changing host]
Viech has joined #pypy
<Dejan> can we please also have the new website ? I <3 the new PyPy logo
<Dejan> :D
<cfbolz> antocuni: then we should ask mattip as the release manager :-)
jcea has quit [Remote host closed the connection]
Rhy0lite has joined #pypy
froztbyte has joined #pypy
<ronan> hrm, the way we (and CPython) parse unicode literals is a bit bonkers
marky1991 has quit [Ping timeout: 276 seconds]
<kenaan> rlamy py3.6 323217710a5a /pypy/interpreter/pyparser/parsestring.py: Separate bytes() and str() paths in parsestr()
<kenaan> rlamy py3.6 90d95ff4347e /pypy/: Fix confusing variable naming
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
marky1991 has quit [Ping timeout: 265 seconds]
adamholmberg has quit [Remote host closed the connection]
jcea has joined #pypy
adamholmberg has joined #pypy
antocuni has quit [Ping timeout: 250 seconds]
<kenaan> rlamy py3.6 abe60bf6dc7b /pypy/interpreter/: Add DeprecationWarning for invalid escapes in str literals, similarly to bytes literals
<cfbolz> mattip: there's a pull request to add pypy3 to the requests CI: https://github.com/psf/requests/pull/5193
<fijal> cfbolz: I think there are currently some issues with requests
<cfbolz> fijal: in general or on PyPy?
adamholmberg has quit []
<kenaan> cfbolz json-decoder-maps 243adfa1677a /pypy/module/_pypyjson/interp_decoder.py: start addressing some comments by Anto
Rhy0lite has quit [Quit: Leaving]
<kenaan> cfbolz json-decoder-maps 5a9168e9cb01 /pypy/module/_pypyjson/: some comments, rename a few attributes
<kenaan> cfbolz json-decoder-maps 434116a59d15 /pypy/module/_pypyjson/interp_decoder.py: explain MIN_SIZE_FOR_STRING_CACHE
<kenaan> cfbolz json-decoder-maps 863872b6a655 /pypy/module/_pypyjson/interp_decoder.py: fix two, add one reply
<kenaan> cfbolz json-decoder-maps d2524657b1d4 /pypy/module/_pypyjson/interp_decoder.py: address two comments (the "obscure hack to help the cpu cache in withintprebuiltint doesn't apply here,...
jacob22_ has joined #pypy
jacob22 has quit [Read error: Connection reset by peer]
jacob22_ has quit [Client Quit]
jacob22 has joined #pypy
jacob22_ has joined #pypy
jacob22 has quit [Read error: Connection reset by peer]
<mattip> cfbolz: would it be reasonable to add some hypothesis tests to json-decoder?
<mattip> there are some hints in the hypothesis docs https://hypothesis.readthedocs.io/en/latest/data.html#recursive-data
<cfbolz> mattip: we have some, in a slightly non-obvious place:
<cfbolz> extra_tests/test_json.py
<cfbolz> doing it pre-translation is just too slow
<mattip> +1
<cfbolz> I assume those are run nightly?
<ronan> yes
<cfbolz> cool
<mattip> they pass too :)
<kenaan> cfbolz py3.6 02f4b7934b7f /: merge default
<cfbolz> mattip: do you have an opinion on what to do about json-decoder-maps? I'd understand if you would say it's a bit annoying to still merge it now
<mattip> nah, let's put it in. The test_json looks pretty extensive
<cfbolz> mattip: oh, it's tested on a huge array of real-world json files too. they are just too big to share (and a lot of them I'm not allowed to)
<mattip> I am a bit concerned about non-SIMD machines, but do x64 non-SIMD CPUs even exist anymore?
<cfbolz> mattip: that's only a small part of the speedup though
<mattip> ideally we would detect at runtime
<cfbolz> ah, no
<cfbolz> sorry, it's a bit of a misnomer
<cfbolz> it doesn't actually use sse
<cfbolz> it just uses very careful bit-twiddling to operate on 8 chars at once
<cfbolz> not 16 or 32 (which is what you could do with sse)
<cfbolz> mattip: but ideally I would still like armin to look at that code, indeed
<cfbolz> basically it makes use of the fact that an integer fits 8 chars on 64 bit machines
xorAxAx has quit [Quit: Idle timeout reached: 172800s]
<cfbolz> maybe I should rename the file to avoid this misunderstanding
<mattip> let him finish looking at the the py3.6 bytecode reordering thing first :)
<cfbolz> mattip: yes ;-)
<cfbolz> Anyway, that code is the most tested, I am fairly confident in that
<mattip> it was the name that had me confused, sorry, ignore the noise
<mattip> maybe leave the name and leave hooks to use sse at some future point
<cfbolz> Aside: whe should use similar techniques in other places, actually
<kenaan> stevie_92 cpyext-gc-cycle 9ce0c4b2a38c /rpython/memory/gc/rrc/: Fixed TODOs for rrc mark and incmark for modern finalizers
<kenaan> stevie_92 cpyext-gc-cycle 73cc4bd3f3ca /rpython/memory/gc/rrc/: Include p_list in snapshot of rrc incmark Fixed some other issues and added some TODOs
<kenaan> stevie_92 cpyext-gc-cycle a84af3d1e5c1 /rpython/memory/gc/: Fixed tests for non-gc proxies in mark Added some TODOs and comments
xorAxAx has joined #pypy
speeder39_ has joined #pypy
<kenaan> cfbolz py3.6 c61c6e7c5d66 /pypy/module/sys/: really hope this finally fixes test_sys
ajlawrence has joined #pypy
Ai9zO5AP has joined #pypy
BPL has joined #pypy
<kenaan> cfbolz default df419b83d7f9 /pypy/interpreter/: produce syntax errors with the failing line attached even if the error comes from the astbuilder
ajlawrence has quit [Remote host closed the connection]
speeder39_ has quit [Quit: Connection closed for inactivity]
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
jcea has quit [Remote host closed the connection]
jcea has joined #pypy
RemoteFox has quit [Ping timeout: 258 seconds]
RemoteFox has joined #pypy
BPL has quit [Quit: Leaving]
BPL has joined #pypy
BPL has quit [Quit: Leaving]