INADA Naoki added the comment:
patch LGTM.
Python 2 supported `dict(**{1:3})`. But I don't know there are any functions
supporting non-string keyword argument.
> PyPy (and other Python implementations?) don't support non-string in type
> dictionary.
Wow! I thought it's Python's la
INADA Naoki added the comment:
That's why I want to enable only --with-lto
--
nosy: +inada.naoki
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
INADA Naoki added the comment:
> More generally, would it be possible to share co_consts (None,) tuples
> between code objects of two different modules? Or is it already the case with
> merge-constants.patch?
No. I didn't do it because I don't know it's worth enough.
> merge-con
INADA Naoki added the comment:
While I feel your work is great, performance benefit seems very small,
compared complexity of this patch.
I think AST level optimize is more important. co_const and co_stacksize
can be more small if constant folding is done in AST.
And I think global cache
INADA Naoki added the comment:
Another run at my machine. (tp_fastcall-6.patch)
+ ../python.default -m perf compare_to default.json patched.json -G
--min-speed=2
Slower (8):
- logging_silent: 736 ns +- 7 ns -> 783 ns +- 12 ns: 1.06x slower (+6%)
- unpickle_pure_python: 829 us +- 13 us -&g
INADA Naoki added the comment:
Digging history, duplicated code is introduced here. (1997-01-17)
https://github.com/python/cpython/commit/99304174680d4c724476dad300ae7fc638842bf0#diff-2131209d0deb0e50c93a88ec6c7b0d52
/* Optimizations based on observations by Jyrki Alakuijala
INADA Naoki added the comment:
> I think the patch should not be pushed without such analysis. Perhaps
> Raymond will found a time to do this.
Ok, I won't push until expert's LGTM.
> One possible optimization is removing freeslot completely. because:
>
> * freeslot is
INADA Naoki added the comment:
BTW, perturb shift uses (i << 2) + i, instead of i*5.
I feel it doesn't make sense in 21th century. I'll change it too.
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python
Changes by INADA Naoki <songofaca...@gmail.com>:
--
nosy: +inada.naoki
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue1346238>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
nosy: +inada.naoki
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue11549>
___
_
INADA Naoki added the comment:
dict-refactoring-3.patch:
$ ../python.default -m perf compare_to default.json patched2.json -G
--min-speed=2
Slower (7):
- scimark_lu: 422 ms +- 35 ms -> 442 ms +- 11 ms: 1.05x slower (+5%)
- logging_silent: 736 ns +- 7 ns -> 761 ns +- 21 ns: 1.03x slow
INADA Naoki added the comment:
@haypo, how do you think about ast.Lit and ast.Constant?
Is this patch updated to use ast.Constant?
Or ast.Constant should be used only for some transform like constant folding?
--
versions: +Python 3.7 -Python 3.6
New submission from INADA Naoki:
add_methods(), add_members(), and add_getset() creates PyUnicode from C string
3 times, and calls PyUnicode_InternInplace 2 times.
1. PyDict_GetItemString() at first. (PyUnicode_FromString() is called).
2. In middle, descr_new() calls PyUnicode_InternFromString
INADA Naoki added the comment:
I think I found better way.
Interned string can be get from descripter. Interning can be reduced
without adding private API.
Please don't review the first patch.
--
___
Python tracker <rep...@bugs.python.org>
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bugs.
INADA Naoki added the comment:
descr-remove-getitemstring-2.patch is more compact than first patch.
(3 unicode + 2 intern) becomes (2 unicode + 1 intern).
python_startup_no_site: Median +- std dev: 12.5 ms +- 0.1 ms
--
Added file: http://bugs.python.org/file46443/descr-remove
Changes by INADA Naoki <songofaca...@gmail.com>:
Added file: http://bugs.python.org/file46444/dict-setitemstring.patch
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python
INADA Naoki added the comment:
I can't reproduce it because of some reason.
1. While you report it affects Python 3.3~3.7, the script doesn't work on
Python 3.7
2. I've fixed webserver.py to work on Python 3, but it uses very old (draft)
websocket protocol. Current browser doesn't send
INADA Naoki added the comment:
patch looks OK.
But I prefer `__deepcopy__ = __copy__ = copy`.
I don't know how to support pickling. (should unpickled object
reference os.environ, or copied dict?)
I feel it is different issue.
--
nosy: +inada.naoki
New submission from INADA Naoki:
While I'm looking Python's memory usage, I found some dicts which key
is not interned "_fields", "_ast" and "__modules__".
--
components: Interpreter Core
files: ast-identifier.patch
keywords: patch
messages: 286244
nosy
INADA Naoki added the comment:
As I said on ML, now I think embedding some co_* tuples into code object
is better way to reduce number of tuples and memory usage.
So I close this issue for now.
Thanks for review and comments.
--
resolution: -> postponed
status: open -> p
Changes by INADA Naoki <songofaca...@gmail.com>:
Added file: http://bugs.python.org/file46414/ast-identifier2.patch
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python
Changes by INADA Naoki <songofaca...@gmail.com>:
Removed file: http://bugs.python.org/file46414/ast-identifier2.patch
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python
INADA Naoki added the comment:
> AST objects are supposed to be temporary. Interning strings used in the AST
> processor would make these strings immortal and so increase the memory usage,
> no?
> What is the purpose of the patch? Speedup or reduce the memory usage?
The three
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29369>
___
_
Changes by INADA Naoki <songofaca...@gmail.com>:
Added file: http://bugs.python.org/file46415/ast-identifier3.patch
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python
INADA Naoki added the comment:
> You should check if _PyUnicode_FromId() returns NULL if it was the first call
> and the UTF-8 decode failed to allocate memory.
thanks. new patch will fix it.
> You might initialize all these identifiers (and check for errors) in
> init_type
INADA Naoki added the comment:
Thanks, Serhiy. You're right.
--
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.or
New submission from INADA Naoki:
Tuples consists of None, True, False, str and bytes can be merged safely.
To avoid memory leak, this patch shares such tuples in compile unit (module, in
most case.)
--
files: merge-tuples.patch
keywords: patch
messages: 285933
nosy: haypo, inada.naoki
INADA Naoki added the comment:
I tried this patch with attached script.
```
$ venv/bin/pip install django flask sqlalchemy
$ PYTHONTRACEMALLOC=5 venv/bin/python3 tuplemem.py > tuples.txt
$ sort tuples.txt | uniq -c | sort -nr > tuplecount
```
## default
memory: (32254693, 32292635)
INADA Naoki added the comment:
@ProgVal, could you try following?
I doubt that this difference just shows rlimit behavior, not memory usage.
---
$ cat rlimit_difference_linux_versions.py
import sys
import queue
import multiprocessing
from urllib.request import Request, urlopen
import resource
INADA Naoki added the comment:
On Linux 3.16? 4.7? What is difference between 3.16 and 4.7?
Again, I doubt Python's memory consumption increased by Linux version.
Isn't rlimit more strict for now?
Even if memory usage is really grow, I don't think it's a Python's issue.
Maybe, environment
INADA Naoki added the comment:
While patch looks safe, some developer may dislike such a large patch
without fixing real issue.
Anyway, Coccinelle seems very interesting tool for refactoring.
--
___
Python tracker <rep...@bugs.python.org>
INADA Naoki added the comment:
Oh, thanks. I hadn't checked the warning.
Since bytes are not important in this time, I'll remove bytes support.
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
Changes by INADA Naoki <songofaca...@gmail.com>:
Added file: http://bugs.python.org/file46368/mergetuples2.patch
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python
INADA Naoki added the comment:
TL;DR
Changing positional argument name doesn't break backward compatibility.
After start accepting keyword argument, it's name is part of API and should be
stable.
For example, document says `str.startswith(prefix[, start[, end]])`.
But this patch seems using
INADA Naoki added the comment:
> but the code with PyObject_HEAD_INIT() doesn't look incompatible with Python
> 3.
It's incompatible actually.
https://github.com/python/cpython/blob/2.7/Include/object.h
/* PyObject_HEAD defines the initial segment of every PyObject. */
#
Changes by INADA Naoki <songofaca...@gmail.com>:
--
nosy: +inada.naoki
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24340>
___
_
INADA Naoki added the comment:
> And it seems to me that Doc/includes/shoddy.c in Python 3 is not correct.
I created another pull request PR 215.
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.or
New submission from INADA Naoki:
In C implementation, write() calls underlaying flush() method when
write_through=True.
https://github.com/python/cpython/blob/3.6/Modules/_io/textio.c
if (self->write_through)
text_needflush = 1;
if (self->line_buffering &&
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
INADA Naoki added the comment:
New changeset 9436bbd87b7eed18dec4c32f25b88452fe282e1c by GitHub in branch
'2.7':
bpo-29165: doc: make extending/newtypes more Python 3 friendly (GH-211)
https://github.com/python/cpython/commit/9436bbd87b7eed18dec4c32f25b88452fe282e1c
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +183
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29607>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
INADA Naoki added the comment:
New changeset 3e8d6cb1892377394e4b11819c33fbac728ea9e0 by GitHub in branch
'master':
bpo-29509: skip redundant intern (GH-197)
https://github.com/python/cpython/commit/3e8d6cb1892377394e4b11819c33fbac728ea9e0
INADA Naoki added the comment:
I'm -1 on suppress log silently.
While error message is bit surprising,
Traceback (most recent call last):
File "/usr/lib/python3.5/asyncio/tasks.py", line 93, in __del__
File "/usr/lib/python3.5/asyncio/base_events.py", line 1160, in
ca
INADA Naoki added the comment:
I don't feel TableReader is really useful.
Would you show some realistic example when TableReader is better than
normal csv.Reader?
--
nosy: +inada.naoki
___
Python tracker <rep...@bugs.python.org>
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +195
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29617>
___
INADA Naoki added the comment:
New changeset 03f68b60e17b57f6f13729ff73245dbb37b30a4c by INADA Naoki in branch
'master':
bpo-29110: Fix file object leak in `aifc.open` when given invalid AIFF file.
(GH-162)
https://github.com/python/cpython/commit/03f68b60e17b57f6f13729ff73245dbb37b30a4c
New submission from INADA Naoki:
asyncio for Python 3.3 has not been released for two years.
https://pypi.python.org/pypi/asyncio
We have many code in asyncio for support Python 3.3.
How about removing them?
--
components: asyncio
messages: 288332
nosy: gvanrossum, inada.naoki
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +162
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28331>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> wont fix
stage: -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
INADA Naoki added the comment:
3.6.0 had been released?
Yury, would you create pull request?
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
INADA Naoki added the comment:
New changeset 66fa9d4205e0da672ed19a397069281a4b177af4 by GitHub in branch
'3.5':
bpo-24274: fix comment in dictobject.c (GH-194)
https://github.com/python/cpython/commit/66fa9d4205e0da672ed19a397069281a4b177af4
INADA Naoki added the comment:
https://github.com/python/cpython/pull/194#issuecomment-281054701
Xiang Zhang found Python 3.6+ have similar issue.
--
versions: +Python 3.6, Python 3.7
___
Python tracker <rep...@bugs.python.org>
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +163
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24274>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +164
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29509>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +161
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24274>
___
INADA Naoki added the comment:
close this issue because lack of information.
--
resolution: -> rejected
stage: -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bugs.pyt
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +166
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15216>
___
INADA Naoki added the comment:
New changeset 1b8df107f867fb05ff39ebee7c55f0a907e7ad5f by GitHub in branch
'master':
bpo-24274: fix erroneous comment in dictobject.c (GH-196)
https://github.com/python/cpython/commit/1b8df107f867fb05ff39ebee7c55f0a907e7ad5f
INADA Naoki added the comment:
New changeset ce552e2d5c4ff90218fb41847e8ffb1fd3ba3b2d by GitHub in branch
'3.6':
bpo-24274: fix erroneous comment in dictobject.c (GH-200)
https://github.com/python/cpython/commit/ce552e2d5c4ff90218fb41847e8ffb1fd3ba3b2d
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +167
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24274>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +128
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29520>
___
INADA Naoki added the comment:
I can reproduce it with Sphinx 1.5.2.
Additonally, "None" is shown at top.
--
nosy: +inada.naoki
Added file: http://bugs.python.org/file46648/sphinx-1.5-pydoc.png
___
Python tracker <rep...@bugs.pyth
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +129
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29529>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +131
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29592>
___
INADA Naoki added the comment:
ref: https://github.com/sphinx-doc/sphinx/issues/2986
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
INADA Naoki added the comment:
Could docs.python.org use new Sphinx, after fix this issue?
Travis checks doc with Sphinx 1.5.2, but docs.python.org seems using 1.3.3.
It's too old.
--
___
Python tracker <rep...@bugs.python.org>
INADA Naoki added the comment:
I got it.
removeduppaths() may change relpath in sys.path to absolute path.
abs_paths() changes __file__ and __cached__ for consistency with the changed
sys.path.
I updated PR 167 to call abs_paths() only if removeduppaths() modified sys.path.
Strictly speaking
New submission from INADA Naoki:
abs_paths() is the another most slow parts of site module.
We can speedup it if we have C implementation of os.path.abspath() or
abs_paths().
But before trying it, is abs_paths() really needed for now?
It only rewrite `__file__` and `__cached__` of modules
INADA Naoki added the comment:
path normalization was added by
https://github.com/python/cpython/commit/38cb9f1f174415d3b37fbaeb5d152d65525839d2
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
INADA Naoki added the comment:
https://github.com/python/cpython/blob/master/Lib/importlib/_bootstrap_external.py#L1089-L1095
While '' in sys.path, it is converted to `getcwd()` before calling PathHook.
Is there any chance relative / not normalized path is in sys.path before site
is loaded
INADA Naoki added the comment:
$ python2 -S
Python 2.7.12+ (default, Sep 17 2016, 12:08:02)
[GCC 6.2.0 20160914] on linux2
>>> import x
>>> x.__file__
'x.py'
$ python3 -S
Python 3.6.0 (default, Dec 30 2016, 20:49:54)
[GCC 6.2.0 20161005] on linux
>>> import x
&g
INADA Naoki added the comment:
PR 136 now adds `sys._framework` and 'PYTHONFRAMEWORK' macro in pyconfig.h.
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +263
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29110>
___
INADA Naoki added the comment:
I close this issue, because there are no enough evidence
it's Python's issue. When hit ulimit is just a OS's detail.
Please ping or file a new issue when memory usage is really grown.
--
resolution: -> not a bug
stage: -> resolved
status
INADA Naoki added the comment:
Now trailing optional fields are optional arguments of AST type.
--
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/i
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +216
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29622>
___
INADA Naoki added the comment:
@mbussonn With PR 249, "import os" and "%timeit" works fine.
--
___
Python tracker <rep...@bugs.python.org>
<http
Changes by INADA Naoki <songofaca...@gmail.com>:
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bu
INADA Naoki added the comment:
New changeset cf44d957ec177be62f5349ef88515190dcfccbd6 by GitHub in branch
'2.7':
bpo-29520: doc: fix deprecation warning from 'defindex' template (GH-180)
https://github.com/python/cpython/commit/cf44d957ec177be62f5349ef88515190dcfccbd6
INADA Naoki added the comment:
New changeset 7970cd483346dfd7723da214fb27399ecc574095 by GitHub in branch
'3.6':
bpo-29520: doc: fix deprecation warning from 'defindex' template (GH-178)
https://github.com/python/cpython/commit/7970cd483346dfd7723da214fb27399ecc574095
INADA Naoki added the comment:
New changeset f0174c69b7b8bd27ee32d96e890d665da29472af by GitHub in branch
'3.5':
bpo-29520: doc: fix deprecation warning from 'defindex' template (GH-179)
https://github.com/python/cpython/commit/f0174c69b7b8bd27ee32d96e890d665da29472af
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +151
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29520>
___
INADA Naoki added the comment:
New changeset 98604c7683f41f04c633935bb582399c50db838c by GitHub in branch
'2.7':
bpo-29529: Add .travis.yml to 2.7 branch (GH-27)
https://github.com/python/cpython/commit/98604c7683f41f04c633935bb582399c50db838c
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +144
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29529>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +145
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29520>
___
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +147
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29520>
___
INADA Naoki added the comment:
New changeset 3eea8c67fa870c6e2b7a521d292afe7fe3e95f58 by GitHub in branch
'master':
bpo-29520: doc: fix deprecation warning from 'defindex' template (GH-165)
https://github.com/python/cpython/commit/3eea8c67fa870c6e2b7a521d292afe7fe3e95f58
Changes by INADA Naoki <songofaca...@gmail.com>:
--
pull_requests: +146
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29520>
___
INADA Naoki added the comment:
New changeset e395c4dbe19115aaab315c2a113b172e9fef307a by GitHub in branch
'master':
bpo-29520: doc: add missing dot (GH-182)
https://github.com/python/cpython/commit/e395c4dbe19115aaab315c2a113b172e9fef307a
INADA Naoki added the comment:
I create #29592 for abs_paths(). Let's focus on sysconfig in this issue.
PR 136 ports really needed part of sysconfig into site.py already.
'PYTHONFRAMEWORK' on macOS is the only variable we need import from sysconfig.
Adding `site.cfg` like `pyvenv.cfg` make
INADA Naoki added the comment:
I like current, minimum example to describe API.
No need to make it complex only for checking it's really executed in parallel.
Adding more and more "may be useful for someone" code in the doc make the
document long, hard and tedious to read fo
INADA Naoki added the comment:
Thanks, Matthieu.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker <rep...@bugs.python.org>
<http://bugs.pyt
INADA Naoki added the comment:
New changeset 3ab24bdd47fdd9d45719ad49f93d3878d4442d7e by GitHub in branch
'3.6':
bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX (GH-219)
https://github.com/python/cpython/commit/3ab24bdd47fdd9d45719ad49f93d3878d4442d7e
--
nosy
201 - 300 of 3038 matches
Mail list logo