New submission from Mark Shannon :
Add specializations of STORE_ATTR following the pattern of LOAD_ATTR and
LOAD_GLOBAL.
For this to work well we need https://bugs.python.org/issue44821, otherwise the
first assigned to an attribute of any object cannot be specialized.
--
messages
Mark Shannon added the comment:
Raymond,
When you say "this was mostly a net win" do you mean the more compact layout or
ordering?
The compact layout is obviously a win, and doesn't conflict with sharing. The
problem is that ordering conflicts with sharing.
As long as instance
New submission from Mark Shannon :
Currently, instance dictionaries (__dict__ attribute) are created lazily when
the first attribute is set.
This is bad for performance for a number of reasons:
1. It causes additional checks on every attribute access.
2. It causes allocation of the object
Mark Dickinson added the comment:
Setting as pending. It looks as though this report represents a
misunderstanding of how Python works rather than a bug in Python.
--
nosy: +mark.dickinson
resolution: -> not a bug
status: open -> p
Mark Shannon added the comment:
This isn't a bug. Although PEP 626 is not at all clear about this.
The key word in the PEP is "executed".
Because compound and multi-line constants are constants, the parts of them are
not "executed", but computed at compile time.
Ha
Change by Mark Shannon :
--
pull_requests: +26051
stage: resolved -> patch review
pull_request: https://github.com/python/cpython/pull/27542
___
Python tracker
<https://bugs.python.org/issu
Mark Shannon added the comment:
Pablo,
There is another failure on that buildbot: test_inspect fails with
^^
File "/home/mark/repos/cpython/Lib/inspect.py", line 1154, in walktree
classes.sort(key=attrgetter('__module__',
Mark Dickinson added the comment:
I think I understand where the request comes from: in the case where you've
changed the exception type that an API is expected to raise, and you've either
updated the test to check for the new exception type and missed an update in
the business logic
Mark Shannon added the comment:
New changeset ddd1c418c05da0de978c75dfb3e4a5b8d27e1d9f by Irit Katriel in
branch 'main':
bpo-44725 : expose specialization stats in python (GH-27192)
https://github.com/python/cpython/commit/ddd1c418c05da0de978c75dfb3e4a5b8d27e1d9f
--
nosy
Mark Shannon added the comment:
New changeset e5c8ddb1714fb51ab1defa24352c98e0f01205dc by Serhiy Storchaka in
branch 'main':
bpo-44707: Fix an undefined behavior of the null pointer arithmetic (GH-27292)
https://github.com/python/cpython/commit/e5c8ddb1714fb51ab1defa24352c98e0f01205dc
Change by Mark Shannon :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
New submission from Mark Shannon :
class C:
def __init__(self, cond):
if cond:
self.a = 1
self.b = 2
c1 = C(True)
c2 = C(False)
In Python 3.5, the dictionary keys are shared
-
>>> sys.getsize
New submission from Mark Gluzman :
Python documentation: v.3.9.6
The Python Standard Library >> Built-in Types >> Mutable Sequence Types
The table says that 'pop' operation should be written as
s.pop([i])
The right way to do it is
s.pop(i)
--
assignee: docs@pytho
Mark Shannon added the comment:
New changeset ae0a2b756255629140efcbe57fc2e714f0267aa3 by Mark Shannon in
branch 'main':
bpo-44590: Lazily allocate frame objects (GH-27077)
https://github.com/python/cpython/commit/ae0a2b756255629140efcbe57fc2e714f0267aa3
Change by Mark Dickinson :
--
keywords: +easy
___
Python tracker
<https://bugs.python.org/issue44734>
___
___
Python-bugs-list mailing list
Unsubscribe:
Mark Dickinson added the comment:
Looks like the turtle code was changed to use `math.hypot` instead of `** 0.5`
in issue #41528. That will likely also fix the test failure, but I've opened
#44734 to fix the unnecessarily strict test
Change by Mark Dickinson :
--
type: -> behavior
versions: +Python 3.10, Python 3.11, Python 3.9
___
Python tracker
<https://bugs.python.org/issue44734>
___
_
New submission from Mark Dickinson :
>From the tests for Vec2D.__abs__ in the turtle module we have:
def test_distance(self):
vec = Vec2D(6, 8)
expected = 10
self.assertEqual(abs(vec), expected)
vec = Vec2D(0, 0)
expected
Mark Dickinson added the comment:
The test_posix failure appears to be unrelated; I'll let others look into that
one.
The test_turtle failure looks again like a libm issue, perhaps combined with an
overeager test: we're expecting a `** 0.5` operation (which translates to a
libm pow call
Mark Dickinson added the comment:
Extract from the log - from the configure output:
> checking for expm1... yes
and from the test output
> expm10118: expm1(27.0): expected 532048240600.79865, got 532048240600.7976
> (error = 0.00104 (17 ulps); permitted error = 0 or 5 ulps)
&g
Mark Dickinson added the comment:
Closing. @StevenHsuYL: Thank you for the contribution!
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Mark Dickinson added the comment:
New changeset c05a790693b3b00ac7cb5b96ad416ca9d8ecb14a by Steven Hsu in branch
'main':
bpo-44651: delete entry of "coercion" in Doc/glossary.rst (GH-27226)
https://github.com/python/cpython/commit/c05a790693b3b00ac7cb5b96ad416c
John-Mark Gurney added the comment:
So, just looked at the patch, but it's missing the documentation part of it.
Also, yes, you can add the doc as another line, but now that's two lines (yes,
you can add semicolons to make it one line, but that might surprise some
people).
I do request
John-Mark Gurney added the comment:
Though this suggestion does work, I am not a fan of this solution.
The issue is that it separates the doc from the definition. This works well if
you have only a field fields in the class, But if you get 10-20+ fields, it
moves away the docs and makes
Mark Shannon added the comment:
Not quite trivial, but simple enough :)
--
___
Python tracker
<https://bugs.python.org/issue44621>
___
___
Python-bugs-list m
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25800
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27255
___
Python tracker
<https://bugs.python.org/issu
Mark Shannon added the comment:
We can fix this for 3.9. The fix to 3.10 was trivial and should port easily.
--
___
Python tracker
<https://bugs.python.org/issue44
Mark Shannon added the comment:
I say no, for a couple of reasons.
1. PEP 626 only applies to 3.10 onwards
2. The bytecode optimizer in 3.9 doesn't understand line numbers.
Changing it would be a lot of effort and likely to introduce more bugs than it
fixes.
Ultimately it is Ćukasz's
Mark Shannon added the comment:
New changeset 37bdd2221ce3607a81d5d7fafc4603d95ca3e8cb by Miss Islington (bot)
in branch '3.10':
bpo-44645: Check for interrupts on any potentially backwards edge (GH-27216)
(GH-27235)
https://github.com/python/cpython/commit
Mark Shannon added the comment:
New changeset d09c13417890427f829e3df297beb0e27133f8f4 by Mark Shannon in
branch 'main':
bpo-44645: Check for interrupts on any potentially backwards edge (GH-27216)
https://github.com/python/cpython/commit/d09c13417890427f829e3df297beb0e27133f8f4
Mark Dickinson added the comment:
My one worry with removing the entry is that documentation of other projects
may be referring to it via intersphinx. If we think this is likely to be a real
problem, we could leave a stub entry, but I think it's okay to go ahead and
delete
Change by Mark Shannon :
--
pull_requests: +25755
pull_request: https://github.com/python/cpython/pull/27216
___
Python tracker
<https://bugs.python.org/issue44
Mark Shannon added the comment:
Can we at least include the fix, until we can come up with a better test?
That test fails on 3.9 as well as 3.10 and main.
With a 3.9 build and the test in #27194:
./python -m test test_threading -R :
0:00:00 load avg: 0.95 Run tests sequentially
0:00:00 load
Mark Dickinson added the comment:
Searching further, none of the uses of "coerce" or "coercion" in the docs seem
to be a good match for the definition in this glossary entry. For example, from
ipaddress.rst:
> By default, attempting to create a network object with ho
Mark Dickinson added the comment:
Agreed that "of the same type" part is confusing. I suspect the intended
meaning was that the operation *expects* both arguments to have the same type,
so if the actual arguments have different types then they have to be coerced to
a c
Change by Mark Shannon :
--
pull_requests: +25720
pull_request: https://github.com/python/cpython/pull/27183
___
Python tracker
<https://bugs.python.org/issue44
Mark Shannon added the comment:
New changeset 000e70ad5246732fcbd27cf59268185cbd5ad734 by Mark Shannon in
branch 'main':
bpo-44645: Check for interrupts on any potentially backwards edge. (GH-27167)
https://github.com/python/cpython/commit/000e70ad5246732fcbd27cf59268185cbd5ad734
Change by Mark Shannon :
--
pull_requests: +25719
pull_request: https://github.com/python/cpython/pull/27182
___
Python tracker
<https://bugs.python.org/issue44
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25703
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/27167
___
Python tracker
<https://bugs.python.org/issu
Mark Shannon added the comment:
https://github.com/python/cpython/pull/18334 assumes that since all loops will
contain a backwards edge, checking for interrupts on JUMP_ABSOLUTE should be
sufficient.
However, https://github.com/python/cpython/pull/23743 changed the back edges in
while
Change by Mark Shannon :
--
pull_requests: +25700
pull_request: https://github.com/python/cpython/pull/27163
___
Python tracker
<https://bugs.python.org/issue44
Mark Shannon added the comment:
New changeset f333ab0f2edec26a769ed558263ac662e5475451 by Mark Shannon in
branch 'main':
bpo-44622: Set line number of END_ASYNC_FOR to match that of iterator.
(GH-27160)
https://github.com/python/cpython/commit/f333ab0f2edec26a769ed558263ac662e5475451
Mark Shannon added the comment:
New changeset 641345d636320a6fca04a5271fa4c4c5ba3e5437 by Irit Katriel in
branch 'main':
bpo-26280: Port BINARY_SUBSCR to PEP 659 adaptive interpreter (GH-27043)
https://github.com/python/cpython/commit/641345d636320a6fca04a5271fa4c4c5ba3e5437
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25697
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27160
___
Python tracker
<https://bugs.python.org/issu
Change by Mark Shannon :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Mark Dickinson added the comment:
> the confusion that it can cause when there is a mismatch between the
> interactive interpreter and noninteractive execution
I've witnessed similar confusion when teaching, using IPython. After
discovering that you can do
In [1]: import pandas
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25680
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27138
___
Python tracker
<https://bugs.python.org/issu
Mark Shannon added the comment:
New changeset 794ff7d505f852dc4e0f94901dc7387afaead3bb by Mark Shannon in
branch '3.10':
bpo-44616: Mark all clean up instructions at end of named exception block as
artificial (GH-27109) (GH-27135)
https://github.com/python/cpython/commit
Change by Mark Shannon :
--
pull_requests: +25678
pull_request: https://github.com/python/cpython/pull/27135
___
Python tracker
<https://bugs.python.org/issue44
Mark Shannon added the comment:
New changeset e5862f79c16e28f1ec51d179698739a9b2d8c1d2 by Mark Shannon in
branch 'main':
bpo-44616: Mark all clean up instructions at end of named exception block as
artificial (GH-27109)
https://github.com/python/cpython/commit
Mark Dickinson added the comment:
No, no plans. There are tradeoffs here - the extra speed comes at the expense
of increased maintenance burden. (It's certainly much harder to make minor
changes and fixes to the decimal module now that it's written in C.)
--
nosy: +mark.dickinson
Mark Dickinson added the comment:
and the related issue: https://bugs.python.org/issue1446372
--
___
Python tracker
<https://bugs.python.org/issue44603>
___
___
Mark Dickinson added the comment:
Related 2005 python-dev discussion:
https://mail.python.org/archives/list/python-...@python.org/thread/VNGY2DLML4QJUXE73JLVBIH5WFBZNIKG/
--
nosy: +mark.dickinson
___
Python tracker
<https://bugs.python.
Change by Mark Shannon :
--
pull_requests: -25653
___
Python tracker
<https://bugs.python.org/issue44570>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Mark Shannon :
--
pull_requests: -25654
___
Python tracker
<https://bugs.python.org/issue44614>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25655
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27109
___
Python tracker
<https://bugs.python.org/issu
Change by Mark Shannon :
--
keywords: +patch
nosy: +Mark.Shannon
nosy_count: 1.0 -> 2.0
pull_requests: +25654
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27109
___
Python tracker
<https://bugs.python.org/i
Change by Mark Shannon :
--
pull_requests: +25653
pull_request: https://github.com/python/cpython/pull/27109
___
Python tracker
<https://bugs.python.org/issue44
Mark Shannon added the comment:
Thanks Ned, you're doing a fantastic job of finding these issues.
Sorry for keeping you so busy with this.
This one was a latent bug, exposed by fixing https://bugs.python.org/issue44570.
--
___
Python tracker
Change by Mark Dickinson :
--
resolution: -> duplicate
superseder: -> _randbelow_with_getrandbits function inefficient with powers of
two
___
Python tracker
<https://bugs.python.org/i
Mark Shannon added the comment:
New changeset 9487a17e3c7cbb3f11c144775cd108601701bb74 by Mark Shannon in
branch 'main':
bpo-44207: Add an internal version number to function objects. (GH-27078)
https://github.com/python/cpython/commit/9487a17e3c7cbb3f11c144775cd108601701bb74
Change by Mark Shannon :
--
nosy: +brandtbucher
___
Python tracker
<https://bugs.python.org/issue44600>
___
___
Python-bugs-list mailing list
Unsubscribe:
Mark Dickinson added the comment:
See #37000 for previous discussion.
--
nosy: +mark.dickinson
___
Python tracker
<https://bugs.python.org/issue44593>
___
___
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25628
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27078
___
Python tracker
<https://bugs.python.org/issu
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25626
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27077
___
Python tracker
<https://bugs.python.org/issu
New submission from Mark Shannon :
In https://bugs.python.org/issue44032 we moved most of the data in the frame
stack, that is the locals, stack, and "specials" (globals, builtins, code etc),
from the heap allocated stack to a (mostly) contiguous array in memory.
That offered som
Change by Mark Shannon :
--
pull_requests: +25621
pull_request: https://github.com/python/cpython/pull/27068
___
Python tracker
<https://bugs.python.org/issue44
Change by Mark Shannon :
--
pull_requests: +25620
pull_request: https://github.com/python/cpython/pull/27067
___
Python tracker
<https://bugs.python.org/issue44
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25619
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/27066
___
Python tracker
<https://bugs.python.org/issu
Change by Mark Shannon :
--
assignee: -> Mark.Shannon
___
Python tracker
<https://bugs.python.org/issue44570>
___
___
Python-bugs-list mailing list
Unsubscrib
Mark Shannon added the comment:
New changeset 514f76bbac386c320a9f3a70797241c612544391 by Mark Shannon in
branch 'main':
bpo-44581: Don't execute quickened instructions if tracing is on (GH-27064)
https://github.com/python/cpython/commit/514f76bbac386c320a9f3a70797241c612544391
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +25617
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/27064
___
Python tracker
<https://bugs.python.org/issu
Change by Mark Shannon :
--
priority: release blocker ->
resolution: -> not a bug
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python
Mark Shannon added the comment:
This is a tricky one.
Which is the "correct" line appears to be subjective.
I'm inclined to leave it as is, as the tracing sequence seems better in the
case of method chaining.
See https://github.com/python/cpython/blob/main/Lib/test/test_compi
New submission from Mark Shannon :
This breaks a key invariant of PEP 659.
Inserting `assert(cframe.use_tracing == 0);` at the top of all quickened
instructions results in several failures when running the test suite.
--
assignee: Mark.Shannon
components: Interpreter Core
messages
Mark Shannon added the comment:
I suspect that the 0.1% increase is noise.
The size of importlib.h etc show a small decrease, suggesting that the
information content of the code object has *decreased*.
After all, the qualname has to stored somewhere and moving it from caller to
callee
Change by Mark Sapiro :
--
versions: +Python 3.7, Python 3.8, Python 3.9
___
Python tracker
<https://bugs.python.org/issue44560>
___
___
Python-bugs-list mailin
Change by Mark Dickinson :
--
title: DIGITAL CLASSROOM -> Spam
___
Python tracker
<https://bugs.python.org/issue44550>
___
___
Python-bugs-list mailing list
Un
Mark Dickinson added the comment:
Thanks, that's helpful. I guess what you _really_ want there is a duck-typed
"tell me whether this value is integral and if so give me the corresponding
Python int", but that's not currently easily available, so I suppose x ==
int(x) is the next-
Mark Dickinson added the comment:
> As another data point, complex supporting __int__ is a little bit of an
> oddity, since all that __int__ method does is raise a TypeError.
This was fixed in 3.10: #41974
--
___
Python tracker
Mark Dickinson added the comment:
> Maybe typing.SupportsIndex
Apologies: that already exists, of course. It was introduced in #36972.
--
___
Python tracker
<https://bugs.python.org/issu
Mark Dickinson added the comment:
I'm actually struggling to think of situations where typing.SupportsInt would
be useful in its current form: if I'm writing a function that wants to do a
duck-typed acceptance of integer-like things (for example because I want my
function to work with NumPy
Mark Dickinson added the comment:
FWIW, there's some history here: there's a good reason that fractions.Fraction
didn't originally implement __int__.
Back in the Bad Old Days, many Python functions that expected an integer would
accept anything whose type implemented __int__ instead
Change by Mark Dickinson :
--
Removed message: https://bugs.python.org/msg396825
___
Python tracker
<https://bugs.python.org/issue44546>
___
___
Python-bug
Change by Mark Dickinson :
--
stage: -> resolved
status: open -> closed
title: ASSESSMENT TOOLS -> spam
___
Python tracker
<https://bugs.python.or
Change by Mark Dickinson :
--
Removed message: https://bugs.python.org/msg396822
___
Python tracker
<https://bugs.python.org/issue44545>
___
___
Python-bug
Change by Mark Dickinson :
--
Removed message: https://bugs.python.org/msg396824
___
Python tracker
<https://bugs.python.org/issue44545>
___
___
Python-bug
Change by Mark Dickinson :
--
stage: -> resolved
status: open -> closed
title: ASSESSMENT TOOLS -> spam
___
Python tracker
<https://bugs.python.or
Mark Shannon added the comment:
New changeset 1b28187a0e3e914ee48de8032cbba0a965dd5563 by Batuhan Taskaya in
branch 'main':
bpo-44313: generate LOAD_ATTR/CALL_FUNCTION for top-level imported objects
(GH-26677)
https://github.com/python/cpython/commit/1b28187a0e3e914ee48de8032cbba0a965dd5563
Mark Dickinson added the comment:
FWIW, the relevant change seems to be this one:
https://github.com/sphinx-doc/sphinx/pull/7155
--
___
Python tracker
<https://bugs.python.org/issue16
Mark Dickinson added the comment:
I suspect the difference is due to a change in the way that Sphinx handles the
py:method directive: the rst source for `pathlib.Path.touch` hasn't changed
between 3.9 and 3.10, but the 3.9 docs are built with Sphinx 2.4.4, while the
3.10 docs are built
Mark Dickinson added the comment:
It looks as though you're reporting an issue with NumPy; this tracker is for
the Python core language, which doesn't include NumPy.
For NumPy bugs, use the NumPy bug tracker at
https://github.com/numpy/numpy/issues. (Though I don't think this _is_ a NumPy
Mark Shannon added the comment:
I think this is a worthwhile improvement.
A few comments on this issue and your PR.
1. We already have qualified names on functions and generators and those can be
modified by @decorators.
In those cases, the code object and the function would disagree.
Code
Mark Shannon added the comment:
Can someone with fedora reproduce this failure?
--
___
Python tracker
<https://bugs.python.org/issue44517>
___
___
Python-bug
Mark Shannon added the comment:
I cannot reproduce this on ubuntu
Ubuntu 20.04.2 LTS
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
I've tried these configs:
./configure --with-pydebug
./configure
./configure --enable-optimizations
./configure --enable-optimizations --with-lto
I also tried
Mark Shannon added the comment:
And today's price for uninformative error message goes to...
"AssertionError: 'False' != 'True'"
;)
I'm looking into it.
--
assignee: -> Mark.Shannon
___
Python tracker
<https://bugs.pytho
Mark Shannon added the comment:
> So, it's expected that `some_module` and `v` would be in the locals at this
> point.
If a function does not have the local variables `some_module` and `v`, then the
change wouldn't be visible to the debugee.
So what difference does i
New submission from Mark Dickinson :
`loop.call_soon_threadsafe` raises `RuntimeError` when the event loop has been
closed, but that fact doesn't seem to be documented. It would be useful to
document it so that that it's clear that that behaviour is part of the API, and
can be depended
Change by Mark Shannon :
--
pull_requests: +25468
pull_request: https://github.com/python/cpython/pull/26891
___
Python tracker
<https://bugs.python.org/issue44
Change by Mark Shannon :
--
pull_requests: +25467
pull_request: https://github.com/python/cpython/pull/26890
___
Python tracker
<https://bugs.python.org/issue44
801 - 900 of 17965 matches
Mail list logo