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
<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 :-)
<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?
<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
<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]