[issue46841] Inline bytecode caches

2022-02-25 Thread Mark Shannon
Mark Shannon added the comment: Making this a release blocker, as we really cannot leave this half finished for the release. Shouldn't be a problem, as we'll have it done in a week or so. -- ___ Python tracker <https://bugs.python.org/issue46

[issue46841] Inline bytecode caches

2022-02-25 Thread Mark Shannon
Mark Shannon added the comment: New changeset 0f41aac109c45aa468c432f798947c54d4178b3d by Brandt Bucher in branch 'main': bpo-46841: Use *inline* caching for `BINARY_OP` (GH-31543) https://github.com/python/cpython/commit/0f41aac109c45aa468c432f798947c54d4178b3d

[issue46389] 3.11: unused generator comprehensions cause f_lineno==None

2022-02-25 Thread Mark Shannon
Mark Shannon added the comment: Stefan, f_lineno can be None for some opcodes, but there shouldn't be trace events if it is. E.g. >>> def f(): ... try: ... 1/0 ... finally: ... pass ... >>> list(f.__code__.co_lines()) [(0, 2, 1), (2, 4, 2), (4,

[issue45107] Improve LOAD_METHOD specialization

2022-02-24 Thread Mark Shannon
Mark Shannon added the comment: New changeset 2a6ece572ca38f989fca66f4c053cb16550bccd4 by Mark Shannon in branch 'main': bpo-45107: Specialize `LOAD_METHOD` for instances with dict. (GH-31531) https://github.com/python/cpython/commit/2a6ece572ca38f989fca66f4c053cb16550bccd4

[issue46823] Add LOAD_FAST__LOAD_ATTR_INSTACE_VALUE combined opcode

2022-02-24 Thread Mark Shannon
Mark Shannon added the comment: New changeset a52d2528a405c1e2bfeb6470cb3313a5338dc45f by Dennis Sweeney in branch 'main': bpo-46823: Implement LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE superinstruction (GH-31484) https://github.com/python/cpython/commit/a52d2528a405c1e2bfeb6470cb3313a5338dc45f

[issue46841] Inline bytecode caches

2022-02-24 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29673 pull_request: https://github.com/python/cpython/pull/31552 ___ Python tracker <https://bugs.python.org/issue46

[issue46841] Inline bytecode caches

2022-02-24 Thread Mark Shannon
Mark Shannon added the comment: We need to decide what to do about dis. I don't think we should have a `show_cache` option, as the caches are meaningless junk without quickening (maybe we should drop the CACHE opcode, and just use zeroes). Instead we should have a `show_quickened` option

[issue45107] Improve LOAD_METHOD specialization

2022-02-23 Thread Mark Shannon
Change by Mark Shannon : -- nosy: +Mark.Shannon nosy_count: 1.0 -> 2.0 pull_requests: +29655 pull_request: https://github.com/python/cpython/pull/31531 ___ Python tracker <https://bugs.python.org/issu

[issue45885] Specialize COMPARE_OP

2022-02-23 Thread Mark Shannon
Mark Shannon added the comment: New changeset 375a56bd4015596c0cf44129c8842a1fe7199785 by Brandt Bucher in branch 'main': bpo-45885: Don't un-adapt `COMPARE_OP` when collecting stats (GH-31516) https://github.com/python/cpython/commit/375a56bd4015596c0cf44129c8842a1fe7199785

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-02-23 Thread Mark Shannon
Mark Shannon added the comment: New changeset 424023efee5b21567b4725015ef143b627112e3c by Brandt Bucher in branch 'main': bpo-46329: Fix test failure when `Py_STATS` is enabled (GH-31511) https://github.com/python/cpython/commit/424023efee5b21567b4725015ef143b627112e3c

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-02-22 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29626 pull_request: https://github.com/python/cpython/pull/31496 ___ Python tracker <https://bugs.python.org/issue46

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-02-21 Thread Mark Shannon
Mark Shannon added the comment: New changeset 59585d6b2ea50d7bc3a9b336da5bde61367f527c by Mark Shannon in branch 'main': bpo-46329: Streamline calling sequence a bit. (GH-31465) https://github.com/python/cpython/commit/59585d6b2ea50d7bc3a9b336da5bde61367f527c

[issue46804] spam

2022-02-21 Thread Mark Dickinson
Change by Mark Dickinson : -- title: Yaytext.net - Tạo văn bản chữ kiểu, kí tự đặc biệt độc đáo -> spam ___ Python tracker <https://bugs.python.org/issu

[issue46817] Add a line-start table to the code object.

2022-02-21 Thread Mark Shannon
New submission from Mark Shannon : Computing whether an instruction is the first on a line (for tracing) in the interpreter is complicated and slow. Doing it in the compiler should be simpler and has no runtime cost. Currently we decide if the current instruction is the first on a line

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-02-21 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29595 pull_request: https://github.com/python/cpython/pull/31465 ___ Python tracker <https://bugs.python.org/issue46

[issue46812] Thread starvation with threading.Condition

2022-02-20 Thread Mark Gordon
New submission from Mark Gordon : When using Condition variables to manage access to shared resources you can run into starvation issues due to the thread that just gave up a resource (making a call to notify/notify_all) having priority on immediately reacquiring that resource before any

[issue24053] Define EXIT_SUCCESS and EXIT_FAILURE constants in sys

2022-02-19 Thread Mark Dickinson
Change by Mark Dickinson : -- nosy: -mark.dickinson ___ Python tracker <https://bugs.python.org/issue24053> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-02-18 Thread Mark Shannon
Mark Shannon added the comment: New changeset cf345e945f48f54785799390c2e92c5310847bd4 by Mark Shannon in branch 'main': bpo-46329: Change calling sequence (again) (GH-31373) https://github.com/python/cpython/commit/cf345e945f48f54785799390c2e92c5310847bd4

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-18 Thread Mark Dickinson
Mark Dickinson added the comment: > I gave the code example in order to make that clear. Yep, that didn't help: reverse engineering the intended behaviour from a complicated piece of code isn't easy. An up-front description of the intended behaviour would be bet

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-18 Thread Mark Dickinson
Mark Dickinson added the comment: Re python-ideas: there's a mailing list: https://mail.python.org/archives/list/python-id...@python.org/ But the https://discuss.python.org/c/ideas/ category also works for this. -- ___ Python tracker <ht

[issue46709] test_urllib: testInterruptCaught() has a race condition and fails randomly

2022-02-18 Thread Mark Shannon
Mark Shannon added the comment: New changeset e2c28616ce6c3cdb1013c415125220a0b86b86a1 by Nikita Sobolev in branch 'main': bpo-46709: check eval breaker in specialized `CALL` opcodes (GH-31404) https://github.com/python/cpython/commit/e2c28616ce6c3cdb1013c415125220a0b86b86a1

[issue46724] Odd Bytecode Generation in 3.10

2022-02-18 Thread Mark Shannon
Mark Shannon added the comment: New changeset c3ce7781e3afe6f2dec5eef8e87fd5a664519ae9 by Saul Shanabrook in branch 'main': bpo-46724: Fix dis support for overflow args (GH-31285) https://github.com/python/cpython/commit/c3ce7781e3afe6f2dec5eef8e87fd5a664519ae9

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-18 Thread Mark Dickinson
Mark Dickinson added the comment: Okay, let's close here; as Raymond says, that doesn't prevent further discussion on python-ideas. > The notions are currently too immature to warrant more core developer time. Agreed. It seems that what Lee wants is some kind of blend between the simpl

[issue46770] ConfigParser(dict_type=) not behaving as expected

2022-02-17 Thread Mark Lonnemann
Mark Lonnemann added the comment: I know, thanks though. I just thought there was a way to do it via dict_type=. I've read it can be done, but is complex. I've yet to see any examples of how. -- ___ Python tracker <https://bugs.python.

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-17 Thread Mark Dickinson
Mark Dickinson added the comment: > I'd modify the optimization to be that we continue to seek the smallest > denominator, but in the case that multiple numerators would give ratios > within the computed interval then we choose the numerator among these that > gives the r

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-17 Thread Mark Dickinson
Mark Dickinson added the comment: One more example: what interval is implied by an input string of "1600"? Is it (1550, 1650)? Or (1595, 1605)? Or even (1599.5, 1600.5). Sorry, I just don't see this working - there are two many arbitrary choices involved in guessing what interva

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-17 Thread Mark Dickinson
Mark Dickinson added the comment: Sigh: > the next representable value up from 0.01 is 0.011 should say: > the next representable value up from 0.10 is 0.11 I think I'll duck out and give my brain a rest before commenting further. -- ___

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-17 Thread Mark Dickinson
Mark Dickinson added the comment: > in which case the interval we need is [0.095, 0.15] Whoops, sorry; brain fail. If we're rounding to two sig figs, the next representable value up from 0.01 is 0.011, while the next one down is 0.099, so the interval we'd be interested in would be [0.0

[issue46780] Allow Fractions to return 1/6 for "0.17", "0.167", "0.1667", etc.

2022-02-17 Thread Mark Dickinson
Mark Dickinson added the comment: > the constructed Fraction first computes the range of the values that the > input string could have been rounded from There's too much magic and guesswork here for my liking; I don't really see this as feasible. Moreover, depending on which roundin

[issue46760] test_dis should test the dis module, not everything else

2022-02-16 Thread Mark Shannon
Change by Mark Shannon : -- nosy: +brandtbucher, iritkatriel ___ Python tracker <https://bugs.python.org/issue46760> ___ ___ Python-bugs-list mailing list Unsub

[issue46770] ConfigParser(dict_type=) not behaving as expected

2022-02-16 Thread Mark Lonnemann
New submission from Mark Lonnemann : ConfigParser() is not using a custom dictionary class correctly, according to my understanding. I have duplicate options in a config file that I want to rename uniquely. The following code does not work. x = 0 class MultiDict(dict): def __setitem__

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-02-16 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29523 pull_request: https://github.com/python/cpython/pull/31373 ___ Python tracker <https://bugs.python.org/issue46

[issue46724] Odd Bytecode Generation in 3.10

2022-02-16 Thread Mark Shannon
Mark Shannon added the comment: New changeset d4e4ef107a9fea257981d7701f023177b704a44f by Mark Shannon in branch '3.10': [3.10] bpo-46724: Use `JUMP_ABSOLUTE` for all backward jumps. (GH-31326) (GH-31354) https://github.com/python/cpython/commit/d4e4ef107a9fea257981d7701f023177b704a44f

[issue46760] test_dis should test the dis module, not everything else

2022-02-16 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +29519 stage: -> patch review pull_request: https://github.com/python/cpython/pull/31369 ___ Python tracker <https://bugs.python.org/issu

[issue46760] test_dis should test the dis module, not everything else

2022-02-15 Thread Mark Shannon
New submission from Mark Shannon : This is getting really annoying. It takes longer to fix all the heavily coupled and poorly written tests in test_dis than to make the real changes. Tiny changes in the calling sequence, or reordering CFGs, cause huge diffs in the test_dis module. No one

[issue46724] Odd Bytecode Generation in 3.10

2022-02-15 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29503 pull_request: https://github.com/python/cpython/pull/31354 ___ Python tracker <https://bugs.python.org/issue46

[issue46724] Odd Bytecode Generation in 3.10

2022-02-15 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29501 pull_request: https://github.com/python/cpython/pull/31352 ___ Python tracker <https://bugs.python.org/issue46

[issue46724] Odd Bytecode Generation in 3.10

2022-02-15 Thread Mark Shannon
Mark Shannon added the comment: New changeset 3be1a443ca8e7d4ba85f95b78df5c4122cae9ede by Mark Shannon in branch 'main': bpo-46724: Use `JUMP_ABSOLUTE` for all backward jumps. (GH-31326) https://github.com/python/cpython/commit/3be1a443ca8e7d4ba85f95b78df5c4122cae9ede

[issue46724] Odd Bytecode Generation in 3.10

2022-02-14 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29482 pull_request: https://github.com/python/cpython/pull/31326 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-14 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29481 pull_request: https://github.com/python/cpython/pull/31324 ___ Python tracker <https://bugs.python.org/issue46

[issue46739] dataclasses __eq__ isn't logical

2022-02-13 Thread Mark Dickinson
Mark Dickinson added the comment: Can you explain why you think the result of `a == b` should be `False` rather than `True`? By default, equality for dataclasses is structural equality, and `True` is the result that I'd expect here. >From the >[docs](https://docs.python.org/3/l

[issue46737] Default to the standard normal distribution

2022-02-13 Thread Mark Dickinson
Mark Dickinson added the comment: +1 -- nosy: +mark.dickinson ___ Python tracker <https://bugs.python.org/issue46737> ___ ___ Python-bugs-list mailing list Unsub

[issue46724] Odd Bytecode Generation in 3.10

2022-02-11 Thread Mark Dickinson
Change by Mark Dickinson : -- nosy: +Mark.Shannon ___ Python tracker <https://bugs.python.org/issue46724> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue45923] Improve performance of sys.settracing based tools.

2022-02-10 Thread Mark Shannon
Mark Shannon added the comment: New changeset d7a5aca982def155a9255893cefcc1493c127c9c by Brandt Bucher in branch 'main': bpo-45923: Add `RESUME_QUICK` (GH-31244) https://github.com/python/cpython/commit/d7a5aca982def155a9255893cefcc1493c127c9c

[issue46072] Unify handling of stats in the CPython VM

2022-02-10 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29425 pull_request: https://github.com/python/cpython/pull/31259 ___ Python tracker <https://bugs.python.org/issue46

[issue46532] Improve efficiency of PRECALL/CALL instructions

2022-02-10 Thread Mark Shannon
Mark Shannon added the comment: New changeset 2cea8c29cf975a8ad7d8c3ff19d1e836c2d54707 by Mark Shannon in branch 'main': bpo-46532: Reduce number of memory writes to update call_shape.kwnames. (GH-31231) https://github.com/python/cpython/commit/2cea8c29cf975a8ad7d8c3ff19d1e836c2d54707

[issue46072] Unify handling of stats in the CPython VM

2022-02-10 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29422 pull_request: https://github.com/python/cpython/pull/31254 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-10 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29420 pull_request: https://github.com/python/cpython/pull/31251 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-10 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29419 pull_request: https://github.com/python/cpython/pull/31250 ___ Python tracker <https://bugs.python.org/issue46

[issue46694] isdigit/isnumeric vs int()

2022-02-09 Thread Mark Dickinson
Change by Mark Dickinson : -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue46694] isdigit/isnumeric vs int()

2022-02-09 Thread Mark Dickinson
Mark Dickinson added the comment: This is by design: int looks for characters with the Unicode Decimal (De) numeric type, corresponding to str.isdecimal(), rather than for the Digit (Di) or Numeric (Nu) numeric types. >>> "²".isdecimal() False -- no

[issue46072] Unify handling of stats in the CPython VM

2022-02-09 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29404 pull_request: https://github.com/python/cpython/pull/31234 ___ Python tracker <https://bugs.python.org/issue46

[issue46532] Improve efficiency of PRECALL/CALL instructions

2022-02-09 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +29401 stage: -> patch review pull_request: https://github.com/python/cpython/pull/31231 ___ Python tracker <https://bugs.python.org/issu

[issue46532] Improve efficiency of PRECALL/CALL instructions

2022-02-09 Thread Mark Shannon
Change by Mark Shannon : -- title: Improve effeciency of PRECALL/CALL instructions -> Improve efficiency of PRECALL/CALL instructions ___ Python tracker <https://bugs.python.org/issu

[issue46072] Unify handling of stats in the CPython VM

2022-02-09 Thread Mark Shannon
Mark Shannon added the comment: New changeset f71a69aa9209cf67cc1060051b147d6afa379bba by Mark Shannon in branch 'main': bpo-46072: Output stats as markdown with collapsible sections. (GH-31228) https://github.com/python/cpython/commit/f71a69aa9209cf67cc1060051b147d6afa379bba

[issue46072] Unify handling of stats in the CPython VM

2022-02-09 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29398 pull_request: https://github.com/python/cpython/pull/31228 ___ Python tracker <https://bugs.python.org/issue46

[issue46675] Allow more than 16 items in split-keys dicts and "virtual" object dicts.

2022-02-08 Thread Mark Shannon
Mark Shannon added the comment: New changeset 25db2b361beb865192a3424830ddcb0ae4b17318 by Mark Shannon in branch 'main': bpo-46675: Allow object value arrays and split key dictionaries larger than 16 (GH-31191) https://github.com/python/cpython/commit

[issue46072] Unify handling of stats in the CPython VM

2022-02-08 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29381 pull_request: https://github.com/python/cpython/pull/31211 ___ Python tracker <https://bugs.python.org/issue46

[issue46639] Ceil division with math.ceildiv

2022-02-07 Thread Mark Dickinson
Mark Dickinson added the comment: > Couldn't math.ceildiv(x, y) be implemented as -(-x//y) in a type-agnostic > fashion? Ah, good point. Yes, that could work. We'd have to decide what to do about Decimal if we took this approach, since the -(-x//y) trick doesn't work there. (Do

[issue46072] Unify handling of stats in the CPython VM

2022-02-07 Thread Mark Shannon
Mark Shannon added the comment: New changeset 9c979d7afd839abbb080028bdfeb73727e5cf633 by Mark Shannon in branch 'main': bpo-46072: Merge dxpairs into py_stats. (GH-31197) https://github.com/python/cpython/commit/9c979d7afd839abbb080028bdfeb73727e5cf633

[issue46670] Build Python with -Wundef: don't use undefined macros

2022-02-07 Thread Mark Shannon
Mark Shannon added the comment: New changeset 4b603f628207b380a8a2f22d7ff5d2dbb0853e2e by Victor Stinner in branch 'main': bpo-46670: Remove unused macros in ceval.c (GH-31196) https://github.com/python/cpython/commit/4b603f628207b380a8a2f22d7ff5d2dbb0853e2e -- nosy: +Mark.Shannon

[issue46072] Unify handling of stats in the CPython VM

2022-02-07 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29368 pull_request: https://github.com/python/cpython/pull/31197 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-07 Thread Mark Shannon
Mark Shannon added the comment: New changeset 062460e8fd54e53c9a1a6f175ef49c9d730851b8 by Mark Shannon in branch 'main': bpo-46072: Improve LOAD_METHOD stats (GH-31104) https://github.com/python/cpython/commit/062460e8fd54e53c9a1a6f175ef49c9d730851b8

[issue46675] Allow more than 16 items in split-keys dicts and "virtual" object dicts.

2022-02-07 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +29367 stage: -> patch review pull_request: https://github.com/python/cpython/pull/31191 ___ Python tracker <https://bugs.python.org/issu

[issue46675] Allow more than 16 items in split-keys dicts and "virtual" object dicts.

2022-02-07 Thread Mark Shannon
New submission from Mark Shannon : https://bugs.python.org/issue45340 and https://github.com/python/cpython/pull/28802 allowed "virtual" object dicts (see faster-cpython/ideas#72 for full details). In order for this to work, we need to keep the insertion order on the values. T

[issue46161] `class A(1, 2, 3, **d): pass` gives bad bytecode

2022-02-07 Thread Mark Shannon
Mark Shannon added the comment: Qiang Zhang, thanks for fixing this. -- resolution: -> fixed stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue46159] Segfault when using trace functions in 3.11a3

2022-02-07 Thread Mark Shannon
Mark Shannon added the comment: Can you reproduce this failure with just Python? If not, with just cryptography and not tox? -- ___ Python tracker <https://bugs.python.org/issue46

[issue46663] test_math test_cmath test_complex fails on Fedora Rawhide buildbots

2022-02-07 Thread Mark Dickinson
Mark Dickinson added the comment: @vstinner What was the change that caused the buildbots to start failing? Did the GCC version get updated on those machines between the last runs and this one, or was the change due to recent PRs in Python? -- nosy: +mark.dickinson

[issue46656] Compile fails if Py_NO_NAN is defined

2022-02-06 Thread Mark Dickinson
Mark Dickinson added the comment: > See the explanations in the source. Hmm. Those explanations made more sense before PR GH-28882. :-( -- ___ Python tracker <https://bugs.python.org/issu

[issue46656] Compile fails if Py_NO_NAN is defined

2022-02-06 Thread Mark Dickinson
Mark Dickinson added the comment: > Is the macro PY_NO_SHORT_FLOAT_REPR also related to platforms which don't > support IEEE 754? Yes, though it's a bit more than that: we also need the platform either not to have issues with double rounding for normal numbers, or we need to b

[issue46656] Compile fails if Py_NO_NAN is defined

2022-02-06 Thread Mark Dickinson
Mark Dickinson added the comment: Okay, the comments I made on #46640 still apply (even though they didn't properly apply on that issue). I think this needs a python-dev discussion before it can be moved forward - requiring the existence of NaNs is very close to requiring IEEE 754 floating

[issue46187] Optionally support rounding for math.isqrt()

2022-02-06 Thread Mark Dickinson
Mark Dickinson added the comment: Ah, https://math.mit.edu/research/highschool/primes/materials/2019/Gopalakrishna.pdf is interesting - they conjecture a bound on the number of iterations required, and note that under that conjecture the mod can be replaced by a subtraction

[issue46187] Optionally support rounding for math.isqrt()

2022-02-06 Thread Mark Dickinson
Mark Dickinson added the comment: Thanks, Tim; very interesting. I hadn't seen this factoring algorithm before. > That wants the _ceiling_ of the square root. Looks like what it actually wants is the ceiling analog of isqrtrem: that is, it needs both the ceiling of the square r

[issue46656] Compile fails if Py_NO_NAN is defined

2022-02-06 Thread Mark Dickinson
Mark Dickinson added the comment: Here's the first point of failure on my machine. Fixing this shows up more failures. gcc -c -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes

[issue46656] Compile fails if Py_NO_NAN is defined

2022-02-06 Thread Mark Dickinson
New submission from Mark Dickinson : The macro Py_NAN may or may not be defined: in particular, a platform that doesn't have NaNs is supposed to be able to define Py_NO_NAN in pyport.h to indicate that. But not all of our uses of `Py_NAN` are guarded by suitable #ifdef conditionals

[issue46639] Ceil division with math.ceildiv

2022-02-05 Thread Mark Dickinson
Mark Dickinson added the comment: [Tim] > Because it's a bit obscure, and in real life y is always known to be > positive, so the nearly obvious (x + y - 1) // y works fine. Whereas I find (x + y - 1) // y less obvious at first sight than -(-x // y). :-) I don't care about nega

[issue46640] Python can now use the C99 NAN constant

2022-02-05 Thread Mark Dickinson
Mark Dickinson added the comment: > If a platform doesn't implement NaN, it should define the Py_NO_NAN macro Ah. In that case your PR description (and the PR news entry) is misleading: > Building Python now requires a C99 header file providing the > NAN constant. Please could y

[issue46639] Ceil division with math.ceildiv

2022-02-05 Thread Mark Dickinson
Mark Dickinson added the comment: I'm not convinced that this deserves to be a math module function. I agree that `-(-x // y)`, while simple to write, isn't necessarily obvious. But it does have some advantages, like not needing an import, and being naturally duck-typed, so

[issue46640] Python can now use the C99 NAN constant

2022-02-05 Thread Mark Dickinson
Mark Dickinson added the comment: The big blocker here is that a platform that fully supports C99 might not define the "NAN" macro. I don't think we can require that NAN be defined in order for Python to build (which is what the PR currently does, if I'm understanding it correctly

[issue46072] Unify handling of stats in the CPython VM

2022-02-03 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29291 pull_request: https://github.com/python/cpython/pull/31108 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-03 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29288 pull_request: https://github.com/python/cpython/pull/31105 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-03 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29287 pull_request: https://github.com/python/cpython/pull/31104 ___ Python tracker <https://bugs.python.org/issue46

[issue45885] Specialize COMPARE_OP

2022-02-03 Thread Mark Shannon
Mark Shannon added the comment: New changeset 674ab66ebdf06f187e193a3d7bde13b71ba0f9af by Dennis Sweeney in branch 'main': bpo-45885: Add more stats for COMPARE_OP in specialize.c (GH-31040) https://github.com/python/cpython/commit/674ab66ebdf06f187e193a3d7bde13b71ba0f9af

[issue45773] Compiler hangs during jump elimination

2022-02-03 Thread Mark Shannon
Mark Shannon added the comment: New changeset e0433c1e70254d4d0357a9e14596929a04bdf769 by Brandt Bucher in branch 'main': bpo-45773: Remove invalid peephole optimizations (GH-31066) https://github.com/python/cpython/commit/e0433c1e70254d4d0357a9e14596929a04bdf769

[issue46072] Unify handling of stats in the CPython VM

2022-02-02 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29263 pull_request: https://github.com/python/cpython/pull/31079 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-02 Thread Mark Shannon
Mark Shannon added the comment: New changeset 187930f74c44e460ba09c60ba5d9bb4fac543d8f by Mark Shannon in branch 'main': bpo-46072: Add some frame stats. (GH-31060) https://github.com/python/cpython/commit/187930f74c44e460ba09c60ba5d9bb4fac543d8f

[issue46072] Unify handling of stats in the CPython VM

2022-02-01 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29242 pull_request: https://github.com/python/cpython/pull/31060 ___ Python tracker <https://bugs.python.org/issue46

[issue46072] Unify handling of stats in the CPython VM

2022-02-01 Thread Mark Shannon
Mark Shannon added the comment: New changeset 48be46ec1f3f8010570165daa1da4bf9961f3a83 by Mark Shannon in branch 'main': bpo-46072: Add some object layout and allocation stats (GH-31051) https://github.com/python/cpython/commit/48be46ec1f3f8010570165daa1da4bf9961f3a83

[issue46072] Unify handling of stats in the CPython VM

2022-02-01 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29233 pull_request: https://github.com/python/cpython/pull/31051 ___ Python tracker <https://bugs.python.org/issue46

[issue46561] Descriptor resolution should own arguments passed to descriptors

2022-02-01 Thread Mark Shannon
Mark Shannon added the comment: # This needs to be C code for this to fail, I'm writing it in Python for clarity and brevity class D: def __get__(self, instance, owner): del C.d # There are now no strong references to self self.whatever # Access to freed memory

[issue46451] Tracing causes module globals to be mutated when calling functions from C

2022-02-01 Thread Mark Shannon
Mark Shannon added the comment: Can you reproduce this in pure Python? If not, can you produce a minimal reproducer using just NumPy? If you can't do either, I'm going to have to assume that this is a NumPy or Pandas bug. Maybe NumPy or Pandas is accessing CPython internals, but not via

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-01-31 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29216 pull_request: https://github.com/python/cpython/pull/31033 ___ Python tracker <https://bugs.python.org/issue46

[issue17206] Py_XDECREF() expands its argument multiple times

2022-01-30 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29209 pull_request: https://github.com/python/cpython/pull/30855 ___ Python tracker <https://bugs.python.org/issue17

[issue46072] Unify handling of stats in the CPython VM

2022-01-28 Thread Mark Shannon
Mark Shannon added the comment: New changeset 90ab138bbdc63763ad825ed6d4821367c09c4015 by Mark Shannon in branch 'main': bpo-46072: Add simple stats for Python calls. (GH-30989) https://github.com/python/cpython/commit/90ab138bbdc63763ad825ed6d4821367c09c4015

[issue46533] Specialize for staticmethods and classmethods

2022-01-28 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +29169 stage: -> patch review pull_request: https://github.com/python/cpython/pull/30990 ___ Python tracker <https://bugs.python.org/issu

[issue46072] Unify handling of stats in the CPython VM

2022-01-28 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +29168 pull_request: https://github.com/python/cpython/pull/30989 ___ Python tracker <https://bugs.python.org/issue46

[issue46329] Split up the CALL_NO_KW and CALL_KW instructions.

2022-01-28 Thread Mark Shannon
Mark Shannon added the comment: New changeset 89fd7c34520aac493a8784a221366ed04452612b by Mark Shannon in branch 'main': bpo-46329: Split calls into precall and call instructions. (GH-30855) https://github.com/python/cpython/commit/89fd7c34520aac493a8784a221366ed04452612b

[issue46524] test_peg_generator takes 8 minutes on Windows

2022-01-28 Thread Mark Shannon
Mark Shannon added the comment: It's plenty slow on linux as well. I like the idea of starting the slower tests first. The long tail of slow tests is annoying when running `make -j12 test`. -- nosy: +Mark.Shannon ___ Python tracker <ht

[issue46528] Simplify the VM's stack manipulations

2022-01-27 Thread Mark Shannon
Mark Shannon added the comment: Timings for individual instructions are a bit meaningless, as out-of-order execution and speculation on modern CPUs makes it hard to pin down the timing of anything. I did an experiment to double the number of instructions. It slowed things down by ~10%, so

[issue46476] Not all memory allocated by _Py_Quicken() is released at Python exit

2022-01-27 Thread Mark Shannon
Mark Shannon added the comment: New changeset 26b0482393a313e3bda364a35e7417e9db52c1c4 by Christian Heimes in branch 'main': bpo-46476: Simplify and fix _PyStaticCode_Dealloc (GH-30965) https://github.com/python/cpython/commit/26b0482393a313e3bda364a35e7417e9db52c1c4

<    1   2   3   4   5   6   7   8   9   10   >