Inada Naoki added the comment:
Mark, would you take a look, please?
--
___
Python tracker
<https://bugs.python.org/issue36521>
___
___
Python-bugs-list mailin
Inada Naoki added the comment:
> There is a clear disadvantage in moving the docstring from the function's
> code object to the enclosing code object:
>
> Docstrings are rarely looked at (relative to other operations on functions).
> Inner functions and comprehensions ar
Inada Naoki added the comment:
> I'm not in favor of (c) co_doc either any more (for the reasons you state). I
> would go for (b), a CO_DOCSTRING flag plus co_consts[0]. I expect that
> co_consts sharing to be a very minor benefit, but you could easily count this
> with ano
Inada Naoki added the comment:
I used this tool to count co_const size and numbers.
https://github.com/faster-cpython/tools/pull/6
Target is asyncio in the main branch.
main (b34dd58f):
Total: 31 files; 1,068 code objects; 12,741 lines; 39,208 opcodes; 3,880 total
size of co_consts; 738
Inada Naoki added the comment:
My machine at the office (used for benchmarking) is hanged up and I need to go
to the office to reboot. So I don't have benchmark machine for now.
Please prioritize LOAD_NONE/LOAD_COMMON_CONST than this. It is hard to maintain
merged branches. Me
Inada Naoki added the comment:
> For the sqlalchemy example: the saving in co_consts is about 1.6k (200
> pointers), but an increase in bytecode size of 2.4k.
Please see number of co_constatns tuples. (d) saved 1307 tuples compared to (b).
`sys.getsizeof(())` is 40 on 64bit machine. S
Inada Naoki added the comment:
> The difference 5.1 ns is the cost of additional LOAD_CONST. It is around 8%
> (but can be 12% or 2%). The cost of setting docstring externally will be the
> same.
I don't have bare metal machine for now so I don't know why annotation is
Inada Naoki added the comment:
And as a bonus, creating function without docstring is little faster.
```
$ cpython/release/bin/pyperf timeit --duplicate=100 "def f(): pass"
.
Mean +- std dev: 62.5 ns +- 1.2 ns
$ load-none-remove-docstring/release/bin/pyp
Inada Naoki added the comment:
> So overhead is around 2%. And this 2% is problem only for "creating function
> with annotation, without docstring, never called, in loop" situation.
My bad, "creating function with docstring, without annotation, nevercalle
Inada Naoki added the comment:
> Do you have any explanation of this?
I think its because current PyFunction_New tries to get docstring always.
See this pull request (lazy-func-doc).
https://github.com/python/cpython/pull/28704
lazy-func-doc is faster than co-docstring and remove-docstr
Change by Inada Naoki :
--
pull_requests: +27065
pull_request: https://github.com/python/cpython/pull/28704
___
Python tracker
<https://bugs.python.org/issue36
Inada Naoki added the comment:
Lazy filling func.__doc__ has only 3~5% performance gain. And it has small
backward incompatibility.
```
>>> def foo(): "foo"
...
>>> def bar(): "bar"
...
>>> bar.__code__ = foo.__code__
>>> bar.__doc__
&
Inada Naoki added the comment:
I can not confirm performance regression between 33ec88ac and 23ae2c3b.
```
Performance version: 1.0.2
Python version: 3.10.0a7+ (64-bit) revision 33ec88ac81
Report on Linux-5.4.0-81-generic-x86_64-with-glibc2.31
Number of logical CPUs: 8
Start date: 2021-10-06
Change by Inada Naoki :
--
pull_requests: +27097
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/28752
___
Python tracker
<https://bugs.python.org/issu
Inada Naoki added the comment:
I am not sure this is worth doing.
Microbenchmarks:
## import time
```
$ main/opt/bin/pyperf command main/opt/bin/python3 -c 'import typing,asyncio'
.
command: Mean +- std dev: 49.6 ms +- 0.1 ms
$ siphash13/opt/bin/pyperf command
Inada Naoki added the comment:
> I know that it's not a popular opinion, but I don't think that this denial of
> service (DoS) is important. IMO there are enough other ways to crash a
> server. Moreover, the initial attack vector was a HTTP request with tons of
>
Inada Naoki added the comment:
> I recommend that you add SipHash-1-3 as an additional algorithm and make it
> the default. The removal of --with-hash-algorithm=siphash24 should go through
> regular deprecation cycle of two Python versions.
I am not sure its worth enough. Adding
Inada Naoki added the comment:
New changeset ad970e8623523a8656e8c1ff4e1dff3423498a5a by Inada Naoki in branch
'main':
bpo-29410: Change the default hash algorithm to SipHash13. (GH-28752)
https://github.com/python/cpython/commit/ad970e8623523a8656e8c1ff4e1dff
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.11
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
Although I still feel reducing 16% tuples is attractive, no one support the
idea.
I leave this as-is for now, and will go to lazy-loading docstring (maybe,
co_linetable too) later.
--
resolution: -> rejected
stage: patch review -> resolved
New submission from Inada Naoki :
Move setting `func.__doc__` from PyFunction_New() to __doc__ descriptor, for
faster function creation.
This issue is spin-off of bpo-36521.
--
components: Interpreter Core
messages: 403786
nosy: methane
priority: normal
severity: normal
status: open
Change by Inada Naoki :
--
keywords: +patch
pull_requests: +27206
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/28704
___
Python tracker
<https://bugs.python.org/issu
Inada Naoki added the comment:
Pros:
Faster (about 3~5%) faster function creation, when function don't have
annotations.
When function has annotation, function creation is much slower so performance
gain become tiny.
Cons:
Somewhat backward incompatible:
```
>>> d
Inada Naoki added the comment:
See this comment.
https://github.com/python/cpython/pull/5241#discussion_r162765765
--
___
Python tracker
<https://bugs.python.org/issue32
Inada Naoki added the comment:
>>> ll = [l for l in gzip.GzipFile(filename='data/UTF-8-test_for_gzip.txt.gz')]
This is bad code pattern because you don't close the file explicitly.
Actually, the error caused by the optimization thet iter(GzipFile) returns
underlay
Change by Inada Naoki :
--
keywords: +patch
pull_requests: +27290
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/29016
___
Python tracker
<https://bugs.python.org/issu
Inada Naoki added the comment:
New changeset 0a4c82ddd34a3578684b45b76f49cd289a08740b by Inada Naoki in branch
'main':
bpo-45475: Revert `__iter__` optimization for GzipFile, BZ2File, and LZMAFile.
(GH-29016)
https://github.com/python/cpython/commit/0a4c82ddd34a3578684b45b76f49cd
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
When I am trying to understand this issue, I see this segfault.
https://gist.github.com/methane/1b83e2abc6739017e0490c5f70a27b52
I am not sure this segfault is caused by this issue or not. If this is
unrelated, I will create another issue
Inada Naoki added the comment:
Is this bug fixed by #26730?
--
___
Python tracker
<https://bugs.python.org/issue38625>
___
___
Python-bugs-list mailin
Inada Naoki added the comment:
I confirmed that this bug is fixed, but I found another error.
--
___
Python tracker
<https://bugs.python.org/issue38625>
___
___
Change by Inada Naoki :
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
versions: +Python 3.8, Python 3.9
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
The another error I found is already reported as #42868.
--
___
Python tracker
<https://bugs.python.org/issue38625>
___
___
Pytho
Change by Inada Naoki :
--
pull_requests: +27982
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/29745
___
Python tracker
<https://bugs.python.org/issu
Change by Inada Naoki :
--
versions: +Python 3.11 -Python 3.10, Python 3.8, Python 3.9
___
Python tracker
<https://bugs.python.org/issue23882>
___
___
Python-bug
Inada Naoki added the comment:
Should `_PyUnicode_EqualToASCIIId()` support comparing two unicode from
different interpreter??
--
nosy: +methane
___
Python tracker
<https://bugs.python.org/issue46
Inada Naoki added the comment:
That's too bad.
We can not compare two Unicode by pointer even if both are interned anymore...
It was a nice optimization.
--
___
Python tracker
<https://bugs.python.org/is
Change by Inada Naoki :
--
resolution: -> third party
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue35856>
___
___
Inada Naoki added the comment:
All classes in the ipaddress module are designed as immutable.
While it is not documented, you can see __hash__ is overridden. It means you
must not change the object state.
--
assignee: -> docs@python
components: +Documentation
nosy: +docs@pyt
Inada Naoki added the comment:
It is documented, if you read it carefully.
"Network objects are hashable, so they can be used as keys in dictionaries."
https://docs.python.org/3/library/ipaddress.html#network-objects
"""
An object is hashable if it has a hash
Change by Inada Naoki :
--
nosy: +inada.naoki
___
Python tracker
<https://bugs.python.org/issue24084>
___
___
Python-bugs-list mailing list
Unsubscribe:
Inada Naoki added the comment:
New changeset 138e7bbb0a5ed44bdd54605e8c58c8f3d3865321 by Inada Naoki
(jacksonriley) in branch 'master':
bpo-38866: Remove asyncore from test_pyclbr.py (GH-17316)
https://github.com/python/cpython/commit/138e7bbb0a5ed44bdd54605e8c58c8
Inada Naoki added the comment:
> The function actually copies `len` bytes from string v instead of the whole
> string.
"and length *len*" means it. So it is not a bug.
If you want to rewrite it to "the first *len* bytes of", you should remove "and
lengt
Change by Inada Naoki :
--
resolution: -> rejected
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
SpooledTemporaryFile has very serious bug which causes data corruption
(#26730). Please don't use it with text mode until it is fixed.
--
___
Python tracker
<https://bugs.python.org/is
Inada Naoki added the comment:
New changeset 6dd9b64770af8905bef293c81d541eaaf8d8df52 by Inada Naoki (Brandt
Bucher) in branch 'master':
bpo-38328: Speed up the creation time of constant list and set display.
(GH-17114)
https://github.com/python/cpyt
Change by Inada Naoki :
--
nosy: -inada.naoki
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
New changeset 036fe85bd3e6cd01093d836d71792a1966f961e8 by Inada Naoki
(HongWeipeng) in branch 'master':
bpo-27145: small_ints[x] could be returned in long_add and long_sub (GH-15716)
https://github.com/python/cpyt
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Inada Naoki :
--
priority: normal -> critical
___
Python tracker
<https://bugs.python.org/issue26730>
___
___
Python-bugs-list mailing list
Un
Inada Naoki added the comment:
Creating files is slow on Windows too.
But I think we should fix the data corruption ASAP.
While Serhiy's patch looks good to me, there is a more quick and safe way to
fix the data corruption. Use TemporaryFile at first if it is text
Inada Naoki added the comment:
But poor performance is better than silent data corruption.
If we can not fix the rollover right now, stop the spooling is a considerable
option for next bugfix release.
--
___
Python tracker
<ht
Inada Naoki added the comment:
@Serhiy, would you create a pull request based on your patch? Or may I?
@James it doesn't make sense at all. It breaks the file even when only ASCII
characters are used.
f = SpooledTemporaryFile(mode="w+")
f.write("foobar")
f.see
Change by Inada Naoki :
--
pull_requests: +16880
pull_request: https://github.com/python/cpython/pull/17400
___
Python tracker
<https://bugs.python.org/issue26
Inada Naoki added the comment:
New changeset ea9835c5d154ab6a54eed627958473b6768b28cc by Inada Naoki in branch
'master':
bpo-26730: Fix SpooledTemporaryFile data corruption (GH-17400)
https://github.com/python/cpython/commit/ea9835c5d154ab6a54eed627958473
Change by Inada Naoki :
--
pull_requests: +16887
pull_request: https://github.com/python/cpython/pull/17407
___
Python tracker
<https://bugs.python.org/issue26
Inada Naoki added the comment:
New changeset e65b3fa9f16537d20f5f37c25673ac899fcd7099 by Inada Naoki in branch
'3.7':
bpo-26730: Fix SpooledTemporaryFile data corruption (GH-17400)
https://github.com/python/cpython/commit/e65b3fa9f16537d20f5f37c25673ac
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
> Do we need to explicitly document the return value change of _file which is
> documented with a separate versionchanged directive for 3.7 and 3.8?
I feel it is too detailed.
Note that the _file attribute may be TextIOWrapper after rollover() anyway an
Inada Naoki added the comment:
New changeset 03257949bc02a4afdf2ea1eb07a73f8128129579 by Inada Naoki (Daniel
Himmelstein) in branch 'master':
bpo-29636: Add --(no-)indent arguments to json.tool (GH-345)
https://github.com/python/cpython/commit/03257949bc02a4afdf2ea1eb07a73f
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.9 -Python 3.8
___
Python tracker
<https://bugs.python.or
Change by Inada Naoki :
--
pull_requests: +16941
pull_request: https://github.com/python/cpython/pull/17460
___
Python tracker
<https://bugs.python.org/issue33
Inada Naoki added the comment:
New changeset 808769f3a4cbdc47cf1a5708dd61b1787bb192d4 by Inada Naoki in branch
'master':
bpo-33684: json.tool: Use utf-8 for infile and outfile. (GH-17460)
https://github.com/python/cpython/commit/808769f3a4cbdc47cf1a5708dd61b1787bb192d4
-
Change by Inada Naoki :
--
pull_requests: +16944
pull_request: https://github.com/python/cpython/pull/17465
___
Python tracker
<https://bugs.python.org/issue33
Inada Naoki added the comment:
New changeset e0f148e6635480521036415bd782c3424fe6c619 by Inada Naoki in branch
'3.7':
bpo-33684: json.tool: Use utf-8 for infile and outfile. (GH-17460)
https://github.com/python/cpython/commit/e0f148e6635480521036415bd782c3
Change by Inada Naoki :
--
components: +Library (Lib) -Unicode
___
Python tracker
<https://bugs.python.org/issue33684>
___
___
Python-bugs-list mailing list
Unsub
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.7, Python 3.9
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
New changeset efefe25443c56988841ab96cdac01352123ba268 by Inada Naoki (wim
glenn) in branch 'master':
bpo-27413: json.tool: Add --no-ensure-ascii option. (GH-17472)
https://github.com/python/cpython/commit/efefe25443c56988841ab96cdac013
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.9 -Python 3.7
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
New changeset 15fb7fa88187f5841088721a43609bffe64a8dc7 by Inada Naoki (Daniel
Himmelstein) in branch 'master':
bpo-29636: json.tool: Add document for indentation options. (GH-17482)
https://github.com/python/cpyt
Change by Inada Naoki :
--
nosy: +inada.naoki
___
Python tracker
<https://bugs.python.org/issue36054>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Inada Naoki :
--
nosy: +inada.naoki
___
Python tracker
<https://bugs.python.org/issue39028>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Inada Naoki :
--
keywords: +patch
pull_requests: +17071
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/17602
___
Python tracker
<https://bugs.python.org/issu
Inada Naoki added the comment:
New changeset 94d2c8df1a7657015a2fcdb4c4d43392f91f8348 by Inada Naoki in branch
'master':
bpo-39035: travis: Don't use beta group (GH-17602)
https://github.com/python/cpython/commit/94d2c8df1a7657015a2fcdb4c
Change by Inada Naoki :
--
pull_requests: +17072
pull_request: https://github.com/python/cpython/pull/17603
___
Python tracker
<https://bugs.python.org/issue39
Change by Inada Naoki :
--
pull_requests: +17073
pull_request: https://github.com/python/cpython/pull/17604
___
Python tracker
<https://bugs.python.org/issue39
Change by Inada Naoki :
--
pull_requests: +17074
pull_request: https://github.com/python/cpython/pull/17605
___
Python tracker
<https://bugs.python.org/issue39
Inada Naoki added the comment:
New changeset 5c5d8f63d7d235e557ad20e7d722b22772681759 by Inada Naoki in branch
'3.8':
bpo-39035: travis: Don't use beta group (GH-17603)
https://github.com/python/cpython/commit/5c5d8f63d7d235e557ad20e7d
Inada Naoki added the comment:
New changeset de4481339dec395d70e350aa2e22d7990d2b3635 by Inada Naoki in branch
'2.7':
bpo-39035: travis: Don't use beta group (GH-17605)
https://github.com/python/cpython/commit/de4481339dec395d70e350aa2
Inada Naoki added the comment:
New changeset be7489cb43e25b6d8bfa077589c18cc0a2367efd by Inada Naoki in branch
'3.7':
bpo-39035: travis: Don't use beta group (GH-17604)
https://github.com/python/cpython/commit/be7489cb43e25b6d8bfa07758
Inada Naoki added the comment:
The most common cause of this error is the PYTHONPATH and PYTHONHOME
environment variables.
You can see what environment variables are set by the "set" command.
--
nosy: +inada.naoki
___
Python track
Inada Naoki added the comment:
Where did you install the portion?
What is in the C:\Developing\Python and C:\Developing\Python\Lib?
What happen when you unset both environment variables?
Do you use any antivirus software?
--
___
Python tracker
Inada Naoki added the comment:
Many files and directories in the "C:\Developing\Python\Lib" are disappeared.
I don't know why. But since you tried clean install, I suppose your antivirus
killed Python.
--
___
Python
Change by Inada Naoki :
--
pull_requests: +17092
pull_request: https://github.com/python/cpython/pull/17622
___
Python tracker
<https://bugs.python.org/issue39
Change by Inada Naoki :
--
pull_requests: +17093
pull_request: https://github.com/python/cpython/pull/17623
___
Python tracker
<https://bugs.python.org/issue39
Change by Inada Naoki :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: -Python 3.8
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
New changeset 75bb07e92baa7267a61056d03d7e6b475588e793 by Inada Naoki
(Sebastian Berg) in branch 'master':
bpo-39028: Performance enhancement in keyword extraction (GH-17576)
https://github.com/python/cpython/commit/75bb07e92baa7267a61056d03d7e6b
New submission from Inada Naoki :
Assume you are writing an extension module that reads string. For example,
HTML escape or JSON encode.
There are two courses:
(a) Support three KINDs in the flexible unicode representation.
(b) Get UTF-8 data from the unicode.
(a) will be the fastest on
Inada Naoki added the comment:
> Would it be possible to use a "container" object like a Py_buffer? Is there a
> way to customize the code executed when a Py_buffer is "released"?
It looks nice idea! Py_buffer.obj is decref-ed when releasing the buffer.
https
Inada Naoki added the comment:
s/return NULL/return -1/g
--
___
Python tracker
<https://bugs.python.org/issue39087>
___
___
Python-bugs-list mailing list
Unsub
Inada Naoki added the comment:
> Don't you need to DECREF bytes somehow, at least, in case of failure?
Thanks. I will create a pull request with suggested changes.
--
___
Python tracker
<https://bugs.python.org
Change by Inada Naoki :
--
keywords: +patch
pull_requests: +17127
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/17659
___
Python tracker
<https://bugs.python.org/issu
Inada Naoki added the comment:
https://github.com/python/cpython/blob/068768faf6b82478de239d7ab903dfb249ad96a4/Objects/stringlib/join.h#L105-L126
It seems we can release GIL during iterating the buffer array.
Even though there is no one big chunk, it would be beneficial if the output
size is
Inada Naoki added the comment:
Is this regression is large enough to revive the free_list for bound methods?
--
___
Python tracker
<https://bugs.python.org/issue39
Change by Inada Naoki :
--
pull_requests: +17140
pull_request: https://github.com/python/cpython/pull/17683
___
Python tracker
<https://bugs.python.org/issue39
Inada Naoki added the comment:
> I like this idea, but I think that we should at least notify Python-Dev about
> all additions to the public C API. If somebody have objections or better
> idea, it is better to know earlier.
I created a post about this issue in discuss.python.o
Inada Naoki added the comment:
GH-9807 fixed it.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Inada Naoki added the comment:
This is implemented in #26219.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
401 - 500 of 3039 matches
Mail list logo