Neil Schemenauer added the comment:
Eddie mentions in the PR about using memory arenas to contain immortal objects.
I think it could be worth investigating further. With the current PR, the
immortal status is dependent on the value of the refcnt field of the object.
Using immortal arenas
Neil Schemenauer added the comment:
A few thoughts
First, the PR is well done. The changes are pretty minimal and are well
localized. Thanks Eddie for writing clean code and responding to review
requests.
My feeling is that, in current state, this still should not get merged or at
least
Neil Schemenauer added the comment:
> immutability vs immutable object headers
Sorry, I meant to write "immortal vs immutable".
--
___
Python tracker
<https://bugs.pytho
Neil Schemenauer added the comment:
I resurrected an old thread on Discourse that seems quite relevant to this PR:
https://discuss.python.org/t/switching-from-refcounting-to-libgc/1641/35?u=nas
--
___
Python tracker
<https://bugs.python.
Neil Schemenauer added the comment:
Maybe something to do the configuration of the machine, so that TCP/UDP socket
networking if failing? Two things to try:
- give the "python" process a SIGINT signal and you should get a traceback
showing where it is hanging. Or you could use
Neil Schemenauer added the comment:
New changeset ffa55d21b4a86ad8b4a43a9f597151e526541130 by Neil Schemenauer in
branch 'master':
bpo-39448: Add regen-frozen makefile target. (GH-18174)
https://github.com/python/cpython/commit/ffa55d21b4a86ad8b4a43a9f597151
Change by Neil Schemenauer :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Neil Schemenauer :
--
resolution: -> fixed
stage: needs patch -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
New submission from Neil Schemenauer :
The FileSystem class is missing a skip() method. If the file system doesn't
support Unicode filenames, the test crashes.
File "/home/nas/src/cpython/Lib/test/test_importlib/fixtures.py", line 221,
in unicode_filename
self.skip(&q
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +23391
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/24612
___
Python tracker
<https://bugs.python.org/issu
Change by Neil Schemenauer :
--
nosy: +nascheme, nascheme
nosy_count: 9.0 -> 10.0
pull_requests: +23392, 23393
pull_request: https://github.com/python/cpython/pull/24612
___
Python tracker
<https://bugs.python.org/issu
Change by Neil Schemenauer :
--
nosy: +nascheme
nosy_count: 9.0 -> 10.0
pull_requests: +23392
pull_request: https://github.com/python/cpython/pull/24612
___
Python tracker
<https://bugs.python.org/issu
Neil Schemenauer added the comment:
New changeset 50288aa8c955f66ab67a7dadf250ea5f4238eb67 by Neil Schemenauer in
branch 'master':
bpo-43288: Fix bug in test_importlib test. (GH-24612)
https://github.com/python/cpython/commit/50288aa8c955f66ab67a7dadf250ea
Change by Neil Schemenauer :
--
pull_requests: +23395
pull_request: https://github.com/python/cpython/pull/24614
___
Python tracker
<https://bugs.python.org/issue43
Neil Schemenauer added the comment:
New changeset 84f7afe65c29330f3ff8e318e054b96554a2dede by Neil Schemenauer in
branch 'master':
Fix failed merge of bpo-43288. (GH-24614)
https://github.com/python/cpython/commit/84f7afe65c29330f3ff8e318e054b9
Change by Neil Schemenauer :
--
pull_requests: +23397
pull_request: https://github.com/python/cpython/pull/24616
___
Python tracker
<https://bugs.python.org/issue43
Neil Schemenauer added the comment:
New changeset 44fe32061d60f4bd9c4fa48c24e3e4ba26033dba by Neil Schemenauer in
branch '3.9':
[3.9] bpo-43288: Fix bug in test_importlib test. (GH-24616)
https://github.com/python/cpython/commit/44fe32061d60f4bd9c4fa48c24e3e4
Change by Neil Schemenauer :
Added file: https://bugs.python.org/file49833/perf_compare_noradix.txt
___
Python tracker
<https://bugs.python.org/issue37448>
___
___
Pytho
Change by Neil Schemenauer :
Added file: https://bugs.python.org/file49834/perf_compare_radix4x.txt
___
Python tracker
<https://bugs.python.org/issue37448>
___
___
Pytho
Change by Neil Schemenauer :
--
nosy: +nascheme
nosy_count: 3.0 -> 4.0
pull_requests: +23486
pull_request: https://github.com/python/cpython/pull/24708
___
Python tracker
<https://bugs.python.org/issu
Neil Schemenauer added the comment:
I believe the line table format got changed but the frozen code didn't get
re-generated. If you try to call co_lines() on the __hello__ code, Python
crashes.
>>> import __hello__
Hello world!
>>> co = __hello__.__spec__.loa
Change by Neil Schemenauer :
--
nosy: +nascheme
nosy_count: 7.0 -> 8.0
pull_requests: +23485
pull_request: https://github.com/python/cpython/pull/24708
___
Python tracker
<https://bugs.python.org/issu
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +23484
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/24708
___
Python tracker
<https://bugs.python.org/issu
New submission from Neil Schemenauer :
In bug #43372, we didn't notice that the code for the __hello__ module was not
re-generated. Things seems to be okay but the line number table was corrupted.
It seems a good idea to add a small test to ensure that doesn't happen again.
I
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +23490
pull_request: https://github.com/python/cpython/pull/24712
___
Python tracker
<https://bugs.python.org/issue43
Change by Neil Schemenauer :
--
pull_requests: +23491
pull_request: https://github.com/python/cpython/pull/24714
___
Python tracker
<https://bugs.python.org/issue43
Change by Neil Schemenauer :
--
pull_requests: +23492
pull_request: https://github.com/python/cpython/pull/24714
___
Python tracker
<https://bugs.python.org/issue42
Neil Schemenauer added the comment:
I think it may be related to bpo-41561. There is a bug in the Ubuntu tracker
as well:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1899878
I agree with the temporary fix to use "ubuntu-18.04" for CI testing.
--
nosy:
New submission from Neil Schemenauer :
While I was fixing the regen-frozen issue, I noticed it seems unnecessary to
have regen-stdlib-module-names separate from regen-all. Maybe Victor knows why
it needs to be separate. If it doesn't need to be separate, the CI scripts can
be sli
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +23494
pull_request: https://github.com/python/cpython/pull/24713
___
Python tracker
<https://bugs.python.org/issue43
Neil Schemenauer added the comment:
It seems it is enough to make a new commit. The CI seems to re-base and re-run
the PR. At least, it worked on two of my PRs.
--
___
Python tracker
<https://bugs.python.org/issue43
Change by Neil Schemenauer :
--
pull_requests: +23531
pull_request: https://github.com/python/cpython/pull/24759
___
Python tracker
<https://bugs.python.org/issue43
Change by Neil Schemenauer :
--
pull_requests: +23532
pull_request: https://github.com/python/cpython/pull/24759
___
Python tracker
<https://bugs.python.org/issue42
Change by Neil Schemenauer :
--
assignee: -> nascheme
___
Python tracker
<https://bugs.python.org/issue43372>
___
___
Python-bugs-list mailing list
Unsubscrib
Neil Schemenauer added the comment:
New changeset 87ec26b812e9c4095c017dc60f246eda37b83ab2 by Neil Schemenauer in
branch 'master':
bpo-43372: Use _freeze_importlib for regen-frozen. (GH-24759)
https://github.com/python/cpython/commit/87ec26b812e9c4095c017dc60f246e
Change by Neil Schemenauer :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Neil Schemenauer added the comment:
New changeset 87ec26b812e9c4095c017dc60f246eda37b83ab2 by Neil Schemenauer in
branch 'master':
bpo-43372: Use _freeze_importlib for regen-frozen. (GH-24759)
https://github.com/python/cpython/commit/87ec26b812e9c4095c017dc60f246e
Neil Schemenauer added the comment:
Not sure the proper place to discuss this but I wonder if putting this stdlib
module names list in the executable is the best idea. The list of available
stdlib modules could change after compiling Python. I understand you don't
want to dynami
New submission from Neil Godber :
'%' character in help= for argparse causes ValueError: incomplete format. I am
attempting to use the percentage character in my help string but get the above
error. Presumably argparse assumes % denotes formatting when this is not the
case. I ha
Neil Godber added the comment:
Hi, yes I did just then and indeed this worked. Wasn't aware of this. Further,
curiously I am no longer able recreate this issue so I will close this for now.
Sorry for the bother.
--
stage: -> resolved
status: open -
New submission from Neil Schemenauer :
It is great that access to ob_type has been cleaned up to use an access macro.
There are two spots that still need fixing.
I think we should do something to help avoid this kind of thing slipping into
the code in the future. E.g. a special build flag
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +21784
pull_request: https://github.com/python/cpython/pull/22829
___
Python tracker
<https://bugs.python.org/issue42
Neil Schemenauer added the comment:
> I don't understand the rationale for this change in depth, but
> does the benefit outweigh (yet another) backwards incompatibility?
I think you can have it both ways. Do you want a C API that is
stable over a long period of CPython release
Neil Schemenauer added the comment:
Correction: I think you *cannot* have it both ways.
--
___
Python tracker
<https://bugs.python.org/issue39573>
___
___
Pytho
Neil Schemenauer added the comment:
I believe this is not needed anymore. Closing.
--
resolution: -> rejected
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Neil Schemenauer added the comment:
This has been resolved using Py_TYPE() and Py_SET_TYPE().
--
resolution: -> out of date
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Neil Schemenauer :
--
resolution: -> out of date
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Neil Schemenauer added the comment:
I think the comments are correct in that it is used to create a new statically
linked interpreter that includes a user provided extension module. We could
include python.o inside the libpythonXX.a file but then I think it breaks if
you are embedding (e.g
Neil Schemenauer added the comment:
> sys.getsizeof(3.14) is 24. And it becomes 32 byte in 16byte aligned
> pymalloc. (+33%)
I've been doing some reading and trying to understand this issue. My
understanding is that malloc() needs to return pointers that are 16-byte
aligned o
Neil Schemenauer added the comment:
We now have a concrete use case. ;-)
My idea was that we can introduce a new, CPython internal API that
aligns on 8-byte boundaries (or takes alignment as a parameter). The
API would be a stop-gap measure. We can use the API to reduce
the overhead for
Neil Girdhar added the comment:
The problem with `key=lambda item: -item` is that item cannot always be easily
negated. For example, tuples are often used as keys.
--
___
Python tracker
<https://bugs.python.org/issue4
New submission from Neil Schemenauer :
In the process of working on some garbage collector/obmalloc experiments, I
noticed what seems to be a quirk about PyType_GenericAlloc(). It calls:
size = _PyObject_VAR_SIZE(type, nitems+1);
Note the "+1" which is documented as "f
Neil Schemenauer added the comment:
Updated patch is attached. It appears that the extra item is only needed if
Py_TPFLAGS_TYPE_SUBCLASS set. In all other cases, it seems we don't need the
extra space for the sentinel. At least, the unit tests pass with this change.
It could be
Neil Schemenauer added the comment:
I suggest we change PyCode_New() back in the next beta, despite that change
breaking Cython again. We could work with them so that they have a new release
with a "PY_VERSION_HEX > 0x030800b1" test in it. Try to get that Cython version
re
New submission from Neil Schemenauer :
This patch implements an alternative version of obmalloc's address_in_range().
It uses a radix tree to map the areas of memory covered by obmalloc arenas.
pymalloc_free() uses address_in_range() to determine if a block of memory is
controll
Change by Neil Schemenauer :
Added file: https://bugs.python.org/file48445/pyperf_radix_compare.txt
___
Python tracker
<https://bugs.python.org/issue37448>
___
___
Pytho
Change by Neil Schemenauer :
Added file: https://bugs.python.org/file48446/obmalloc_overhead.py
___
Python tracker
<https://bugs.python.org/issue37448>
___
___
Python-bug
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +14291
pull_request: https://github.com/python/cpython/pull/14474
___
Python tracker
<https://bugs.python.org/issue37
New submission from Neil Schemenauer :
This is a small but measurable optimization for _PyObject_Malloc and
_PyObject_Free. It slows down _Py_GetAllocatedBlocks a bit but I think that's
a price worth paying.
--
components: Interpreter Core
messages: 347602
nosy: nascheme
pri
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +14486
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/14680
___
Python tracker
<https://bugs.python.org/issu
Neil Schemenauer added the comment:
PyPerformance result, using --enable-optimizations
+-+-+--+
| Benchmark | base| no-allocated
Neil Schemenauer added the comment:
New changeset 5d25f2b70351fc6a56ce5513ccf5f58556c18837 by Neil Schemenauer in
branch 'master':
bpo-37537: Compute allocated blocks in _Py_GetAllocatedBlocks() (#14680)
https://github.com/python/cpython/commit/5d25f2b70351fc6a56ce5513ccf5f5
Neil Schemenauer added the comment:
> Decreasing the total wall time for a default --enable-optimizations build
> would
> be a good thing for everyone, provided the resulting interpreter remains
> "effectively similar" in speed. If you somehow manage to find som
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +14501
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/14702
___
Python tracker
<https://bugs.python.org/issu
Neil Schemenauer added the comment:
I tweaked the list of unit tests a little more, trying to incorporate some from
your Docker build settings. Not sure what's going on with the pickle results.
Below are new pyperformance runs, comparing my PR to the "master" version it i
Neil Schemenauer added the comment:
+-+---+-+
| Benchmark | task-all2 | task-short7 |
+=+===+=+
| 2to3| 304 ms| 305 ms
Neil Schemenauer added the comment:
Thanks for the feedback. I agree that putting the tests in regrtest is better.
I've made the following changes:
- the --pgo option now uses the shorter list of tests by default
- I added --pgo-extended as a regrtest option that enables the old beh
Neil Schemenauer added the comment:
I changed configure.in to use AC_ARG_VAR instead. So, you can override it as
you suggest:
./configure [..] PROFILE_TASK="-m test --pgo-extended"
--
___
Python tracker
<https://bugs.python.o
Neil Schemenauer added the comment:
New changeset 4e16a4a3112161a5c6981c0588142d4a4673a934 by Neil Schemenauer in
branch 'master':
bpo-36044: Reduce number of unit tests run for PGO build (GH-14702)
https://github.com/python/cpython/commit/4e16a4a3112161a5c6981c0588142d
New submission from Neil Schemenauer :
Add a new support decorator, @skip_if_pgo_task and then use it to mark test
cases. I suspect the PGO task works well if it can exercise common code paths.
Running long tests likely have rapidly diminishing benefits. The instrumented
PGO executable
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +14772
pull_request: https://github.com/python/cpython/pull/15009
___
Python tracker
<https://bugs.python.org/issue37
Neil Schemenauer added the comment:
I think expanding the list of tests used by --pgo is fine, as long as we put a
little thought into each one we add. The ones added by Steve look fine to me.
It seems useful to run a profiler and see if there are any unusually expensive
tests being added
Neil Schemenauer added the comment:
New changeset 52a48e62c6a94577152f9301bbe5f3bc806cfcf1 by Neil Schemenauer in
branch 'master':
bpo-37707: Exclude expensive unit tests from PGO task (GH-15009)
https://github.com/python/cpython/commit/52a48e62c6a94577152f9301bbe5f3
Neil Schemenauer added the comment:
Closing as I think PR 14702 mostly resolves this. The gc_collect() issue has
not been resolved but based on some investigation, I think it is not worth the
effort to try to reduce the time spend in that function. Reducing the number
of unit tests being
Change by Neil Schemenauer :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Neil Schemenauer added the comment:
New changeset 382cb85401bb010ead411c0532499ffe16c3cf27 by Neil Schemenauer
(Miss Islington (bot)) in branch '3.8':
bpo-37707: Exclude expensive unit tests from PGO task (GH-15009) (#15024)
https://github.com/python/cpyt
New submission from Neil Schemenauer :
I find it annoying and surprising that "make clean" does not remove the PGO
data. If you change a source file, running "make clean" and "make" should
result in a newly built executable, IMHO. As it is now, you usually
Change by Neil Schemenauer :
--
keywords: +patch
pull_requests: +14790
pull_request: https://github.com/python/cpython/pull/15033
___
Python tracker
<https://bugs.python.org/issue37
New submission from Neil Schemenauer:
After a lot of head scratching, I have discovered why tests are failing for me.
E.g. "./python Lib/test/test_datetime.py" results in
AttributeError: module 'bisect' has no attribute 'bisect_right'
Running tests this way cau
Neil Schemenauer added the comment:
New changeset e38d12ed34870c140016bef1e0ff10c8c3d3f213 by Neil Schemenauer in
branch 'master':
bpo-17852: Maintain a list of BufferedWriter objects. Flush them on exit.
(#1908)
https://github.com/python/cpyt
Changes by Neil Schemenauer :
--
pull_requests: +3352
___
Python tracker
<http://bugs.python.org/issue17852>
___
___
Python-bugs-list mailing list
Unsubscribe:
Neil Schemenauer added the comment:
The key is how the test is run. If you run:
$ ./python Lib/test/.py
Then the Lib/test gets added to the first part of sys.path. Then "import
bisect" imports the Lib/test/bisect.py module rather than Lib/bisect.py.
Obvious options seem to be:
Neil Schemenauer added the comment:
New changeset db564238db440d4a2d8eb9d60ffb94ef291f6d30 by Neil Schemenauer in
branch 'master':
Revert "bpo-17852: Maintain a list of BufferedWriter objects. Flush them on
exit. (#1908)" (#3337)
https://github.com/p
Neil Schemenauer added the comment:
I reverted because of the crash in test_threading. I'm pretty sure there is a
bug with the locking of bufferedio.c, related to threads and flush. Here is
the stacktrace I get (my patch applied, I'm trying to write a Python test that
trigger
Changes by Neil Schemenauer :
--
pull_requests: +3382
___
Python tracker
<http://bugs.python.org/issue17852>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Neil Schemenauer :
--
pull_requests: +3382, 3383
___
Python tracker
<http://bugs.python.org/issue17852>
___
___
Python-bugs-list mailing list
Unsub
Neil Schemenauer added the comment:
New changeset 0a1ff24acfc15d8c7f2dc41000a6f3d9a31e7480 by Neil Schemenauer in
branch 'master':
bpo-17852: Maintain a list of BufferedWriter objects. Flush them on exit.
(#3372)
https://github.com/python/cpyt
New submission from Neil Booth :
I run a machine with IPv4 and IPv6 interfaces on MacOSX Mojave.
I try to loop.create_connection() to a remote machine whose domain resolves to
an IPv6 address only, with a local_addr domain name argument that resolves to
two local addresses: an IPv4 one first
New submission from Neil Booth :
list.index has signature:
index(value, [start, [stop]])
array.index from the array module should provide the same facility
--
components: Library (Lib)
messages: 331891
nosy: kyuupichan
priority: normal
severity: normal
status: open
title
Neil Booth added the comment:
Sorry for the duplicate; a simple search didn't find it.
--
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.
Change by Neil Schemenauer :
--
nosy: +nascheme
___
Python tracker
<https://bugs.python.org/issue23903>
___
___
Python-bugs-list mailing list
Unsubscribe:
New submission from Neil Schemenauer :
The logic in setup.py that determines if _multiprocessing/posixshmem.c should
get built is not very robust. I think it is better to use autoconfig to probe
for the required functions and libraries. My autoconfig brain cells are a bit
fuzzy but I think
Change by Neil Schemenauer :
--
pull_requests: +11719
___
Python tracker
<https://bugs.python.org/issue35903>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Neil Schemenauer :
--
pull_requests: +11719, 11720
___
Python tracker
<https://bugs.python.org/issue35903>
___
___
Python-bugs-list mailing list
Unsub
Change by Neil Schemenauer :
--
pull_requests: +11719, 11720, 11721
___
Python tracker
<https://bugs.python.org/issue35903>
___
___
Python-bugs-list mailin
Neil Schemenauer added the comment:
I didn't understand autoconfig well enough but I think I fixed it now.
Apparently MacOS is a platform where it has shm_open but you don't need to link
with -lrt. The revised 'configure' should handl
Neil Schemenauer added the comment:
Hi Ronald,
I tested with my MacBook but I'm not sure what version of the OS. Probably the
latest but I can check when I get home. Maybe my comment was not clear. On my
MacBook, you don't need librt for shm_open, etc. That sounds like it is th
Neil Schemenauer added the comment:
I didn't finish reviewing completely yet but here are some comments.
I think the random filename generation can be pulled out of
_posixshmem. Make it require that a filename is passed into it.
That moves a fair bit of complexity out of C and into P
Neil Schemenauer added the comment:
New changeset 5741c45acf9b0ce22ff0dbf56322fe0ff16cfcfc by Neil Schemenauer in
branch 'master':
bpo-35903: Use autoconfig to probe for shm_open() and shm_unlink(). (#11765)
https://github.com/python/cpython/commit/5741c45acf9b0ce22ff0dbf56322fe
Change by Neil Schemenauer :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
201 - 300 of 674 matches
Mail list logo