[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
New submission from kxroberto kxrobe...@users.sourceforge.net: With transition from Python2.5 to Python2.6 on current Debian stable I noticed that the python2.6 executable has now 2x size of python2.5's. Half of lib-dynload/* obviously have been embedded into the executable by default. While most of the selections may be somewhat reasonable, I want to protest against static inclusion of _ssl.so, which now draws libssl*.so and libcryto*.so at each Python startup. This module is rarely needed, and the draw is almost as fat as the Python binary itself and those libs are not genarally loaded in the system. Those 2 dependencies solely are against detailed versions even!! See below. Besides load time and resource wastage, there are now e.g. likely problems with frozen python scripts due to the detailed version deps. (binding with unversioned libssl.so may be ok for future separate _ssl.so module?) $ ldd /usr/bin/python2.5 linux-gate.so.1 = (0xb78dc000) libpthread.so.0 = /lib/i686/cmov/libpthread.so.0 (0xb78c1000) libdl.so.2 = /lib/i686/cmov/libdl.so.2 (0xb78bd000) libutil.so.1 = /lib/i686/cmov/libutil.so.1 (0xb78b8000) libm.so.6 = /lib/i686/cmov/libm.so.6 (0xb7892000) libc.so.6 = /lib/i686/cmov/libc.so.6 (0xb774c000) /lib/ld-linux.so.2 (0xb78dd000) $ ldd /usr/bin/python2.6 linux-gate.so.1 = (0xb76e7000) libpthread.so.0 = /lib/i686/cmov/libpthread.so.0 (0xb76cc000) libdl.so.2 = /lib/i686/cmov/libdl.so.2 (0xb76c8000) libutil.so.1 = /lib/i686/cmov/libutil.so.1 (0xb76c3000) libssl.so.0.9.8 = /usr/lib/libssl.so.0.9.8 (0xb7679000) libcrypto.so.0.9.8 = /usr/lib/libcrypto.so.0.9.8 (0xb751d000) libz.so.1 = /usr/lib/libz.so.1 (0xb7509000) libm.so.6 = /lib/i686/cmov/libm.so.6 (0xb74e3000) libc.so.6 = /lib/i686/cmov/libc.so.6 (0xb739c000) /lib/ld-linux.so.2 (0xb76e8000) Note: missing files consumed from lib-dynload/ since Python2.5: _functools.so 6780 _hashlib.so 11392 math.so 12492 array.so 32432 _socket.so 54228 strop.so 21616 spwd.so 7132 collections.so 21116 unicodedata.so 474792 itertools.so 29684 rgbimg.so 12416 select.so 12816 time.so 16412 grp.so 6868 _locale.so 15760 binascii.so 17344 _weakref.so 4816 cStringIO.so 17076 cPickle.so 68968 syslog.so 5824 _ssl.so 15452 _bisect.so 7568 operator.so 25392 fcntl.so 13536 _struct.so 24832 zlib.so 21708 _random.so 10368 (python2.7 not tested, as it is not available via apt-get so far.) -- components: Build, Installation messages: 149217 nosy: kxroberto priority: normal severity: normal status: open title: Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto) type: resource usage versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
maniram maniram maniandra...@gmail.com added the comment: +1 -- nosy: +maniram.maniram ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
Filip Gruszczyński grusz...@gmail.com added the comment: I didn't know about `make patchcheck`, next time I will use it, thanks. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
maniram maniram maniandra...@gmail.com added the comment: Remove the needs patch keyword since this bug has a patch. -- nosy: +maniram.maniram ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13573] csv.writer uses str() for floats instead of repr()
Mark Dickinson dicki...@gmail.com added the comment: +1 for fixing this. -- nosy: +mark.dickinson ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13573 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
Nick Coghlan ncogh...@gmail.com added the comment: Explicitly spelling out __qualname__ like that makes the tests a bit too sensitive to otherwise irrelevant details of the test layout. I suggest using comparisons like self.assertEqual(wrapper.__qualname__, f.__qualname__) and self.assertNotEqual(wrapper.__qualname__, f.__qualname__) to make sure they're the same or different as appropriate, without caring about their precise value (this is similar to what the tests already do for dict_attr) -- stage: needs patch - patch review ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13479] pickle too picky on re-defined classes
kxroberto kxrobe...@users.sourceforge.net added the comment: Well, == whould allow the wanted feature by exception through meta classes for concerned classes: class X: ... a=1 ... Y=X class X: ... a=1 ... Y==X False class XCompare(type): ... def __eq__(self, other): ... print tolerant class __eq__ ... return self.__name__ == other.__name__ ... class X: ... __metaclass__ = XCompare ... a=1 ... Y=X class X: ... a=1 ... Y==X tolerant class __eq__ True Better than nothing. Its a improvement generally, independently. But thinking about my acutal use cases and all: It still doesn't satisfy. I don't want to introduce this extra magic on all those classes just for that feature - because when needed, the majority of classes are concerned (see below). One can have only one meta class ... its too tricky and off-road to guess for most programmers ... when in doubt, raise an error: That is IMHO too rigid here, and generally when a feature is then hindered too much. Aren't warnings the right tool for such case? If really rarely there is problem, should it surface easily already during dev test time? Compared to the everday life danger of Pythons dynamic attribute access, version incompatibilities, etc. its about a rather harmless issue here. Now I'd vote for a warnings.warn upon == (or old is) failing , and then an error only when the .__name__ is not matching too. A warning at dev test time should be enough, when just == (or is) fails. I mainly like the tolerance during development: e.g. fast reload style edit-run cycles (reload sometimes improved with special reload fix code), because I noticed that 95% of code changes/bug fixes do not require a full expensive app-restart. This pays off particularly with bigger GUI app development/fixing and similar, where lot of status is accumulated expensively during run time. But I wished that feature already for a deployed app too. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13479 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
Filip Gruszczyński grusz...@gmail.com added the comment: Fixed tests. -- Added file: http://bugs.python.org/file23912/13544_2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
sbt shibt...@gmail.com added the comment: I already have a patch for the descriptor types which lazily calculates the __qualname__. However test.test_sys also needs fixing because it tests that these types have expected sizes. I have not got round to builtin_function_or_method though. -- keywords: +patch nosy: +sbt Added file: http://bugs.python.org/file23913/descr_qualname.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13574] refresh example in doc for Extending and Embedding
Changes by Eli Bendersky eli...@gmail.com: -- nosy: +eli.bendersky ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13574 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
sbt shibt...@gmail.com added the comment: Updated patch which fixes test.test_sys.SizeofTest. (It also adds __qualname__ to member descriptors and getset descriptors.) -- Added file: http://bugs.python.org/file23914/descr_qualname.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
Jesús Cea Avión j...@jcea.es added the comment: I see this effect in the stock ubuntu 10.04 python 2.6. I can't see it in my selfcompiled binaries for Solaris 10 and 2.7 ubuntu. The reason seems to be that my compilated code uses the python shared libs, while the stock Ubuntu 10.04 python 2.6 is statically linked. In any case, the shared lib version doesn't link against ssl: jcea@ubuntu:~$ ldd /usr/local/lib/libpython2.7.so.1.0 linux-vdso.so.1 = (0x7fff715ff000) libpthread.so.0 = /lib/libpthread.so.0 (0x7f5ec3079000) libdl.so.2 = /lib/libdl.so.2 (0x7f5ec2e75000) libutil.so.1 = /lib/libutil.so.1 (0x7f5ec2c71000) libm.so.6 = /lib/libm.so.6 (0x7f5ec29ee000) libc.so.6 = /lib/libc.so.6 (0x7f5ec266b000) /lib64/ld-linux-x86-64.so.2 (0x7f5ec3698000) Of course, as soon as we use sockets, we will bring SSL in: Python 2.7.2 (default, Jul 14 2011, 00:30:51) [GCC 4.4.3] on linux2 Type help, copyright, credits or license for more information. import os os.getpid() 5701 import socket [...] jcea@ubuntu:~$ cat /proc/5701/maps|grep -i ssl 7f2f467cd000-7f2f46818000 r-xp fc:0a 131554 /lib/libssl.so.0.9.8 7f2f46818000-7f2f46a17000 ---p 0004b000 fc:0a 131554 /lib/libssl.so.0.9.8 7f2f46a17000-7f2f46a19000 r--p 0004a000 fc:0a 131554 /lib/libssl.so.0.9.8 7f2f46a19000-7f2f46a1e000 rw-p 0004c000 fc:0a 131554 /lib/libssl.so.0.9.8 7f2f46a47000-7f2f46a4f000 r-xp fc:0a 403582 /usr/local/lib/python2.7/lib-dynload/_ssl.so 7f2f46a4f000-7f2f46c4e000 ---p 8000 fc:0a 403582 /usr/local/lib/python2.7/lib-dynload/_ssl.so 7f2f46c4e000-7f2f46c4f000 r--p 7000 fc:0a 403582 /usr/local/lib/python2.7/lib-dynload/_ssl.so 7f2f46c4f000-7f2f46c5 rw-p 8000 fc:0a 403582 /usr/local/lib/python2.7/lib-dynload/_ssl.so Importing socket will bring SSL in with any python at least since 2.3 (the older version I can try now). In any case Python 2.6 is closed. Any change will need to address 2.7 and up. I would say that 3.1 is off too, and possibly 3.2 too. PS: Can you try to compile python using the shared lib?. -- nosy: +jcea versions: -Python 2.6, Python 3.1, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13579] string.Formatter doesn't understand the !a conversion specifier
Changes by Eric V. Smith e...@trueblade.com: -- assignee: - eric.smith nosy: +eric.smith ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13579 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8900] IDLE crashes if Preference set to At Startup - Open Edit Window
Roger Serwy roger.se...@gmail.com added the comment: Attached is a patch to fix the bug. When selecting Open from the File Menu, ishanderrunning is empty. Unbind/Bind requests are handled synchronously. When pressing Ctrl+O, ishandlerrunning is no longer empty, and the actual bind/unbind events get appended to doafterhandle. The original code was running these bind/unbind events in REVERSE order by using pop, so unbind requests were being made (and causing the error) before the proper bind request. -- keywords: +patch nosy: +serwy versions: +Python 3.2, Python 3.3 -Python 3.1 Added file: http://bugs.python.org/file23915/issue8900.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8900 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13569] Loggers cannot be pickled
Vinay Sajip vinay_sa...@yahoo.co.uk added the comment: So, if I understand your last comment correctly, it's OK to close this issue, so I'm going to. If I misunderstood, then please feel free to reopen. -- resolution: - invalid status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13569 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
R. David Murray rdmur...@bitdance.com added the comment: So isn't this saying that this is a problem with the distribution packaging and not with CPython itself? -- nosy: +barry, r.david.murray ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13559] Use sendfile where possible in httplib
Changes by Kasun Herath kasun...@gmail.com: -- nosy: +kasun ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13559 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
kxroberto kxrobe...@users.sourceforge.net added the comment: Of course, as soon as we use sockets, we will bring SSL in Indeed, as it is now. Suggestions: * urllib.URLOpener.open_https shall always exist, but fail on runtime. non-existance with strange AttributeError is inelegant..bogus. Note: concept of late import ftplib, .. is otherwise ok in urllib. same style shall be used for ssl on demand. see python-Bugs-1046077) * httplib.HTTPSConnection.connect shall late-import ssl * httplib.HTTPSConnection,HTTPS,FakeSocket shall always exist but error on runtime if ssl is not available; same reason as with open_https (* httplib.test already late-imports ssl) * imaplib.IMAP4_SSL.ssl,open shall late-import ssl * smtplib.starttls should late-import ssl * smtplib.SMTP_SSL._get_socket should late-import ssl * smtplib.SSLFakeFile shall always exist (same reason as with open_https) * poplib.POP3_SSL.__init__ shall late-import ssl * deprecated socket.ssl() shall late-import _ssl/ssl (and possibly RAND_add, RAND_egd, RAND_status too if they need to exist globally for compabtibilty; constants to be entered fix into socket or _socket; sslerror perhaps a builtin in _socket, which _ssl then uses ) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13505] Bytes objects pickled in 3.x with protocol =2 are unpickled incorrectly in 2.x
sbt shibt...@gmail.com added the comment: I don't really know that much about pickle, but Antoine mentioned that 'bytearray' works fine going from 3.2 to 2.7. Given that, can't we just compose 'bytes' with 'bytearray'? Yes, although it would only work for 2.6 and 2.7. codecs.encode() seems to be available back to 2.4 and codecs.latin_1_encode() back to at least 2.0. They also produce more compact pickles, particularly codecs.latin_1_encode(). class Bytes(bytes): ... def __reduce__(self): ... return latin_1_encode, (latin_1_decode(self),) ... [70922 refs] pickletools.dis(pickle.dumps(Bytes(b'abc'), 2)) 0: \x80 PROTO 2 2: cGLOBAL '_codecs latin_1_encode' 26: qBINPUT 0 28: XBINUNICODE 'abc' 36: qBINPUT 1 38: KBININT13 40: \x86 TUPLE2 41: qBINPUT 2 43: \x85 TUPLE1 44: qBINPUT 3 46: RREDUCE 47: qBINPUT 4 49: .STOP highest protocol among opcodes = 2 Only worry is that codecs.latin_1_encode.__module__ is '_codecs', and _codecs is undocumented. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13505 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
kxroberto kxrobe...@users.sourceforge.net added the comment: Can you try to compile python using the shared lib yes I can try lot of things, but I'd need to do this on many machines. Yet I didn't create this issue for some local purpose ;-) 99% of Pythons are installed by apt-get, .msi etc. And now this turns out as bigger issue with the early import of ssl in those mentioned locations. (A little surprising for me is that the Python2.6 of current Debian stable shall already be outdated. Its the new thing here ;-) Hope for Python 2.7 not beeing outdated so soon. Py3 has already 4 version - who can use Py3 in real word? Is the Python dev team too fast for reality? ;-) ) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13581] help() appears to be broken; doesn't display __doc__ for class type when called as help(type)
New submission from Christopher the Magnificent ultimate.mac.fana...@gmail.com: observe help(type) and type.__doc__ in Python 3.1: help(type) Help on class type in module builtins: class type(object) | type(object) - the object's type | type(name, bases, dict) - a new type | | Methods defined here: | | __call__(...) | x.__call__(...) == x(...) | | __delattr__(...) | x.__delattr__('name') == del x.name | | __getattribute__(...) | x.__getattribute__('name') == x.name | | __init__(...) | x.__init__(...) initializes x; see x.__class__.__doc__ for signature | | __instancecheck__(...) | __instancecheck__() - check if an object is an instance | | __repr__(...) | x.__repr__() == repr(x) | | __setattr__(...) | x.__setattr__('name', value) == x.name = value | | __subclasscheck__(...) | __subclasschck__ - check if an class is a subclass | | __subclasses__(...) | __subclasses__() - list of immediate subclasses | | mro(...) | mro() - list | return a type's method resolution order | | -- | Data descriptors defined here: | | __abstractmethods__ | | __base__ | | __bases__ | | __basicsize__ | | __dict__ | | __dictoffset__ | | __flags__ | | __itemsize__ | | __mro__ | | __weakrefoffset__ | | -- | Data and other attributes defined here: | | __new__ = built-in method __new__ of type object at 0x145600 | T.__new__(S, ...) - a new object with type S, a subtype of T | | __prepare__ = built-in method __prepare__ of type object at 0x145600 | __prepare__() - dict | used to create the namespace for the class statement type.__doc__ type(object) - the object's type\ntype(name, bases, dict) - a new type observe help(type) and type.__doc__ in Python 3.2: help(type) Help on class type in module builtins: type = class 'type' type.__doc__ type(object) - the object's type\ntype(name, bases, dict) - a new type It appears that the __doc__ attribute of class 'type' is unchanged from Python 3.1 to 3.2, but it is not being displayed by the help function in Python 3.2. The help function is very important to using Python! This should be fixed. -- assignee: docs@python components: Documentation, Interpreter Core messages: 149234 nosy: christopherthemagnificent, docs@python priority: normal severity: normal status: open title: help() appears to be broken; doesn't display __doc__ for class type when called as help(type) type: behavior versions: Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13581 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
Antoine Pitrou pit...@free.fr added the comment: The patch should add some tests for the added functionality (I'm not sure where, but perhaps test_descr is a good location). Also, just a nitpick, you can use _PyObject_GetAttrId and the _Py_IDENTIFIER macro instead of interning the __qualname__ string yourself. Note that extension (non-builtin) types will need to have their __qualname__ fixed before their methods' __qualname__ is usable: collections.deque.__qualname__ 'deque' -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
Antoine Pitrou pit...@free.fr added the comment: From a fresh-compiled Python 2.7: $ ldd ./python linux-vdso.so.1 = (0x7fff85cde000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f772f725000) libdl.so.2 = /lib64/libdl.so.2 (0x7f772f521000) libutil.so.1 = /lib64/libutil.so.1 (0x7f772f31e000) libm.so.6 = /lib64/libm.so.6 (0x7f772f09c000) libc.so.6 = /lib64/libc.so.6 (0x7f772ed2b000) /lib64/ld-linux-x86-64.so.2 (0x7f772f941000) (same with 3.3) This is therefore a problem with the Debian package, not with the vanilla Python build (when using default options). Also, the reason ssl is imported when socket is imported in Python 2 is for compatibility reasons. It doesn't happen in Python 3: $ grep ssl Lib/socket.py $ ldd build/lib.linux-x86_64-3.3-pydebug/_socket.cpython-33dm.so linux-vdso.so.1 = (0x7fffa2f21000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f227ff8f000) libc.so.6 = /lib64/libc.so.6 (0x7f227fc1e000) /lib64/ld-linux-x86-64.so.2 (0x7f22803e1000) Therefore, closing as not a Python bug. Is the Python dev team too fast for reality? ;-) Actually, releasing a new version every 18 months (not counting bugfix releases) makes us fairly conservative (perhaps too much) in the modern software ecosystem ;) -- nosy: +pitrou resolution: - works for me status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13564] ftplib and sendfile()
Antoine Pitrou pit...@free.fr added the comment: os.fstat wouldn't work since it succeeds with non-regular files, e.g. standard I/O: os.fstat(0) posix.stat_result(st_mode=8592, st_ino=5, st_dev=11, st_nlink=1, st_uid=500, st_gid=5, st_size=0, st_atime=1323629303, st_mtime=1323629303, st_ctime=1323628616) I think the best solution is to call sendfile() and catch OSError, then fallback on the generic loop. However, you must also guard against fileno() failing: io.BytesIO().fileno() Traceback (most recent call last): File stdin, line 1, in module io.UnsupportedOperation: fileno -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13564 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
sbt shibt...@gmail.com added the comment: Note that extension (non-builtin) types will need to have their __qualname__ fixed before their methods' __qualname__ is usable: collections.deque.__qualname__ 'deque' I'm confused. Isn't that the expected behaviour? Since the deque class is not nested inside another class or function, __qualname__ should be the same as __name__, shouldn't it? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13496] bisect module: Overflow at index computation
akira 4kir4...@gmail.com added the comment: Related bug in Java: http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html Do not consider any change as trivial: http://www.solipsys.co.uk/new/BinarySearchReconsidered.html (the author ran binary search coding challenge about 10 years ago http://www.solipsys.co.uk/b_search/ ) -- nosy: +akira ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13496 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
Antoine Pitrou pit...@free.fr added the comment: Note that extension (non-builtin) types will need to have their __qualname__ fixed before their methods' __qualname__ is usable: collections.deque.__qualname__ 'deque' I'm confused. Isn't that the expected behaviour? Since the deque class is not nested inside another class or function, __qualname__ should be the same as __name__, shouldn't it? Uh, yes, my bad. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13581] help() appears to be broken; doesn't display __doc__ for class type when called as help(type)
Amaury Forgeot d'Arc amaur...@gmail.com added the comment: It fails for the same reason as issue1785: ~/python/cpython3.2$ ./python -c import inspect; inspect.classify_class_attrs(type) Traceback (most recent call last): File string, line 1, in module File /home/amauryfa/python/cpython3.2/Lib/inspect.py, line 321, in classify_class_attrs obj_via_getattr = getattr(cls, name) AttributeError: __abstractmethods__ -- nosy: +amaury.forgeotdarc ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13581 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1785] inspect gets broken by some descriptors
Amaury Forgeot d'Arc amaur...@gmail.com added the comment: The 'type' object now has the same issue: __abstractmethods__ appears in dir(type) but type.__abstractmethods__ fails with an AttributeError. See issue13581 -- nosy: +amaury.forgeotdarc ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1785 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
kxroberto kxrobe...@users.sourceforge.net added the comment: It doesn't happen in Python 3 Yet the cheap/unnecessary pre-imports of ssl in those other mentioned socket using libs (urllib (cgi!),httplib,smtplib,pop,imap...) exist there. socket is rarely used directly, so not much difference to Py2 in effect overall. And Python2.7 lives - which is important for the majority of users perhaps. Thus I'd request to not close this issue so swift. This is IHMO really a point to make python startup significantly faster, with a rather simple means. Also the linkage of _ssl solely against a detailed version of libssl/libcrypto is still questionable. This is therefore a problem with the Debian package I'm not into the Python build files. Just to ask/double-check: is that observed _semi_ static link selection (which is good otherwise - somebody must have done surprisingly lots of care) really from Debian or is there maybe a sort of 2nd default option bundle somewhere in Pythons configure? (If really not so I would go for Debian BTS.) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13582] IDLE and pythonw.exe stderr problem
New submission from Roger Serwy roger.se...@gmail.com: Running IDLE on Windows typically uses pythonw.exe. Unfortunately any error messages written to stderr will cause IDLE to terminate abruptly without an error message. This is due to __stderr__ == None. Attached is a patch against 3.3a0 for idle.pyw to redirect stderr messages to a dialog box. This allows IDLE to keep running so that the user can at least save their work before closing IDLE. -- components: IDLE files: idle_pyw.patch keywords: patch messages: 149244 nosy: serwy priority: normal severity: normal status: open title: IDLE and pythonw.exe stderr problem type: behavior versions: Python 2.7, Python 3.2, Python 3.3 Added file: http://bugs.python.org/file23916/idle_pyw.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13582 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13521] Make dict.setdefault() atomic
Filip Gruszczyński grusz...@gmail.com added the comment: I have written a patch and a test, but since it's changing C code, I am far from being sure if it's achieve the expected behavior in the right way. There are also tests and running whole test suite didn't bring any errors. -- keywords: +patch nosy: +gruszczy Added file: http://bugs.python.org/file23917/13521.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13521 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13521] Make dict.setdefault() atomic
Filip Gruszczyński grusz...@gmail.com added the comment: Also: I'll be happy to work further on this patch, if I get some comments and advice. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13521 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13521] Make dict.setdefault() atomic
Antoine Pitrou pit...@free.fr added the comment: If _PyDict_SetItemUsingHash is module-private, it should be declared static. Also, better if it follows the usual naming of static functions inside that C file (i.e. dict_some_lowercase_name). -- stage: needs patch - patch review ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13521 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
Antoine Pitrou pit...@free.fr added the comment: It doesn't happen in Python 3 Yet the cheap/unnecessary pre-imports of ssl in those other mentioned socket using libs (urllib (cgi!),httplib,smtplib,pop,imap...) exist there. socket is rarely used directly, so not much difference to Py2 in effect overall. Well, by this measure, we probably have unnecessary imports all over the place, since the general guideline is to import modules at the top-level rather than inside functions (the reason is partly technical, to avoid potential deadlocks with the import lock). Thus I'd request to not close this issue so swift. This is IHMO really a point to make python startup significantly faster, with a rather simple means. If you are using a network library such as urllib or others you mentioned, then startup time will surely be small compared to the time spent sending and retrieving data over the network, no? Also the linkage of _ssl solely against a detailed version of libssl/libcrypto is still questionable. I don't know the reasons (if any). Perhaps you can open a separate issue about that? This is therefore a problem with the Debian package I'm not into the Python build files. Just to ask/double-check: is that observed _semi_ static link selection (which is good otherwise - somebody must have done surprisingly lots of care) really from Debian or is there maybe a sort of 2nd default option bundle somewhere in Pythons configure? (If really not so I would go for Debian BTS.) Well, seeing as Mageia's Python 2.7 doesn't have the problem, I really think it must be Debian-specific: $ ldd /usr/bin/python linux-vdso.so.1 = (0x7fff4dd13000) libpython2.7.so.1.0 = /usr/lib64/libpython2.7.so.1.0 (0x7f45809ff000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f45807e3000) libc.so.6 = /lib64/libc.so.6 (0x7f4580472000) libdl.so.2 = /lib64/libdl.so.2 (0x7f458026e000) libutil.so.1 = /lib64/libutil.so.1 (0x7f458006b000) libm.so.6 = /lib64/libm.so.6 (0x7f457fde9000) /lib64/ld-linux-x86-64.so.2 (0x7f4580dc) $ ldd /usr/lib64/libpython2.7.so.1.0 linux-vdso.so.1 = (0x7fffb53ff000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7fc0d6455000) libdl.so.2 = /lib64/libdl.so.2 (0x7fc0d6251000) libutil.so.1 = /lib64/libutil.so.1 (0x7fc0d604d000) libm.so.6 = /lib64/libm.so.6 (0x7fc0d5dcb000) libc.so.6 = /lib64/libc.so.6 (0x7fc0d5a5a000) /lib64/ld-linux-x86-64.so.2 (0x7fc0d6a51000) Also, I've just compiled a fresh Python 2.6 and I get similar results: $ ldd ./python linux-vdso.so.1 = (0x7fffa9795000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f5f76439000) libdl.so.2 = /lib64/libdl.so.2 (0x7f5f76235000) libutil.so.1 = /lib64/libutil.so.1 (0x7f5f76032000) libm.so.6 = /lib64/libm.so.6 (0x7f5f75db) libc.so.6 = /lib64/libc.so.6 (0x7f5f75a3f000) /lib64/ld-linux-x86-64.so.2 (0x7f5f76655000) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13521] Make dict.setdefault() atomic
Filip Gruszczyński grusz...@gmail.com added the comment: Done. -- Added file: http://bugs.python.org/file23918/13521_2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13521 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13479] pickle too picky on re-defined classes
Guido van Rossum gu...@python.org added the comment: What you're seeing here is just one of may things that go subtly wrong when you reload a class. I don't think we should fix this one aspect while leaving so many other bugs due to the same root cause. It would be better to focus your energy on a way to improve reloading, e.g. make it so that the identity of global functions and classes doesn't change when their module is reloaded. (You'll find it a tough problem, but note that it's been solved for at least one specific instance: modules *do* retain their identity, so maybe you can use that as a model.) -- resolution: - wont fix status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13479 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13583] sqlite3.Row doesn't support slice indexes
New submission from Lucas Sinclair blastoc...@mac.com: When using the sqlite3.Row object as a row factory, one can access the resulting rows by index (such as row[1]) or by name (such as row['b']). However, the slice functionality is lost, as doing row[0:2] raises the error: slices not implemented, yet Here is a patch that fixes this, I implemented it and I added the corresponding unit test. -- files: sqlrowslice.patch keywords: patch messages: 149251 nosy: xapple priority: normal severity: normal status: open title: sqlite3.Row doesn't support slice indexes type: feature request versions: Python 2.6, Python 2.7, Python 3.2, Python 3.3 Added file: http://bugs.python.org/file23919/sqlrowslice.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13583 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
Jesús Cea Avión j...@jcea.es added the comment: Performance report for current 3.3 tip, using pybench. BASELINE: (original version without DTRACE patch) --- PYBENCH 2.1 --- * using CPython 3.3.0a0 (default:70ba352f9586, Dec 11 2011, 22:46:09) [GCC 4.6.2] * disabled garbage collection * system check interval set to maximum: 2147483647 * using timer: time.time Calibrating tests. Please wait... done. Running 10 round(s) of the suite at warp factor 10: * Round 1 done in 4.457 seconds. * Round 2 done in 4.466 seconds. * Round 3 done in 4.438 seconds. * Round 4 done in 4.503 seconds. * Round 5 done in 4.519 seconds. * Round 6 done in 4.514 seconds. * Round 7 done in 4.460 seconds. * Round 8 done in 4.455 seconds. * Round 9 done in 4.477 seconds. * Round 10 done in 4.547 seconds. --- Benchmark: 2011-12-11 22:50:16 --- Rounds: 10 Warp: 10 Timer: time.time Machine Details: Platform ID:SunOS-5.10-i86pc-i386-32bit-ELF Processor: i386 Python: Implementation: CPython Executable: /home/python/cpython/Tools/pybench/../../python Version:3.3.0a0 Compiler: GCC 4.6.2 Bits: 32bit Build: Dec 11 2011 22:46:09 (#default:70ba352f9586) Unicode:UCS4 Test minimum average operation overhead --- BuiltinFunctionCalls: 79ms 82ms0.16us0.291ms BuiltinMethodLookup: 58ms 59ms0.06us0.342ms CompareFloats: 58ms 59ms0.05us0.390ms CompareFloatsIntegers:114ms118ms0.13us0.304ms CompareIntegers: 89ms 91ms0.05us0.589ms CompareInternedStrings: 72ms 75ms0.05us1.519ms CompareLongs: 47ms 49ms0.05us0.340ms CompareStrings: 58ms 59ms0.06us1.013ms ComplexPythonFunctionCalls: 68ms 70ms0.35us0.501ms ConcatStrings: 71ms 73ms0.15us0.560ms CreateInstances:109ms113ms1.01us0.456ms CreateNewInstances: 82ms 84ms1.00us0.364ms CreateStringsWithConcat:107ms111ms0.11us0.991ms DictCreation: 55ms 57ms0.14us0.391ms DictWithFloatKeys: 82ms 84ms0.09us0.739ms DictWithIntegerKeys: 65ms 66ms0.06us0.992ms DictWithStringKeys: 58ms 59ms0.05us0.991ms ForLoops: 63ms 65ms2.59us0.044ms IfThenElse: 74ms 76ms0.06us0.739ms ListSlicing: 46ms 47ms3.39us0.053ms NestedForLoops: 85ms 88ms0.06us0.003ms NestedListComprehensions: 86ms 88ms7.33us0.096ms NormalClassAttribute:151ms155ms0.13us0.529ms NormalInstanceAttribute: 86ms 87ms0.07us0.552ms PythonFunctionCalls: 65ms 66ms0.20us0.292ms PythonMethodCalls: 97ms100ms0.44us0.184ms Recursion:114ms116ms2.33us0.494ms SecondImport: 70ms 72ms0.72us0.199ms SecondPackageImport: 70ms 73ms0.73us0.192ms SecondSubmoduleImport:123ms126ms1.26us0.192ms SimpleComplexArithmetic: 66ms 68ms0.08us0.391ms SimpleDictManipulation:108ms111ms0.09us0.493ms SimpleFloatArithmetic: 66ms 68ms0.05us0.591ms SimpleIntFloatArithmetic: 82ms 84ms0.06us0.589ms SimpleIntegerArithmetic: 82ms 85ms0.06us0.603ms SimpleListComprehensions: 71ms 74ms6.18us0.096ms SimpleListManipulation: 63ms 64ms0.05us0.646ms SimpleLongArithmetic: 60ms 62ms0.09us0.291ms SmallLists: 86ms 89ms0.13us0.408ms SmallTuples: 85ms 88ms0.16us0.455ms SpecialClassAttribute:226ms234ms0.20us0.547ms SpecialInstanceAttribute: 86ms 89ms0.07us0.533ms StringMappings:277ms286ms1.13us0.422ms StringPredicates: 96ms100ms0.14us1.991ms StringSlicing: 95ms 98ms0.18us0.836ms TryExcept:
[issue13405] Add DTrace probes
Changes by Jesús Cea Avión j...@jcea.es: Added file: http://bugs.python.org/file23920/f73be85b9a7e.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13405 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
Changes by Jesús Cea Avión j...@jcea.es: Added file: http://bugs.python.org/file23921/43d1a819a63d.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13405 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
Changes by Jesús Cea Avión j...@jcea.es: Removed file: http://bugs.python.org/file23758/a9f4ae43fd85.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13405 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
Changes by Jesús Cea Avión j...@jcea.es: Removed file: http://bugs.python.org/file23827/2a7dedf6a65e.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13405 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13570] Expose faster unicode-ascii functions in the C-API
Martin v. Löwis mar...@v.loewis.de added the comment: It's reasonable that string % formatting might have become slower... I wonder what the issue is at this point. Unless you can state a clear issue that you want to see resolved, I propose to close this report as invalid. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13570 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13521] Make dict.setdefault() atomic
Antoine Pitrou pit...@free.fr added the comment: The patch looks ok to me. I'll let Raymond make the final call. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13521 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13516] Gzip old log files in rotating handlers
Vinay Sajip vinay_sa...@yahoo.co.uk added the comment: Some people might want other compression methods, e.g. bz2, zip, lzma ... Have you considered subclassing the existing handler classes as in the following example? http://code.activestate.com/recipes/502265-timedcompressedrotatingfilehandler/ Possibly I could change the implementation in 3.3 to make this easier to do ... I will give it some thought. -- assignee: - vinay.sajip ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13516 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
Jesús Cea Avión j...@jcea.es added the comment: Same calculations for 64 bit binaries: * STOCK PYTHON: --- PYBENCH 2.1 --- * using CPython 3.3.0a0 (default:70ba352f9586, Dec 11 2011, 23:38:26) [GCC 4.6.2] * disabled garbage collection * system check interval set to maximum: 2147483647 * using timer: time.time Calibrating tests. Please wait... done. Running 10 round(s) of the suite at warp factor 10: * Round 1 done in 3.392 seconds. * Round 2 done in 3.423 seconds. * Round 3 done in 3.397 seconds. * Round 4 done in 3.425 seconds. * Round 5 done in 3.395 seconds. * Round 6 done in 3.465 seconds. * Round 7 done in 3.476 seconds. * Round 8 done in 3.388 seconds. * Round 9 done in 3.385 seconds. * Round 10 done in 3.388 seconds. --- Benchmark: 2011-12-11 23:39:33 --- Rounds: 10 Warp: 10 Timer: time.time Machine Details: Platform ID:SunOS-5.10-i86pc-i386-64bit-ELF Processor: i386 Python: Implementation: CPython Executable: /home/python/cpython/python Version:3.3.0a0 Compiler: GCC 4.6.2 Bits: 64bit Build: Dec 11 2011 23:38:26 (#default:70ba352f9586) Unicode:UCS4 Test minimum average operation overhead --- BuiltinFunctionCalls: 58ms 61ms0.12us0.199ms BuiltinMethodLookup: 38ms 39ms0.04us0.233ms CompareFloats: 44ms 51ms0.04us0.267ms CompareFloatsIntegers:100ms102ms0.11us0.199ms CompareIntegers: 68ms 78ms0.04us0.401ms CompareInternedStrings: 53ms 53ms0.04us1.015ms CompareLongs: 38ms 45ms0.04us0.233ms CompareStrings: 45ms 46ms0.05us0.680ms ComplexPythonFunctionCalls: 57ms 58ms0.29us0.335ms ConcatStrings: 52ms 53ms0.11us0.379ms CreateInstances: 88ms 89ms0.80us0.331ms CreateNewInstances: 66ms 68ms0.80us0.269ms CreateStringsWithConcat: 87ms 89ms0.09us0.672ms DictCreation: 46ms 47ms0.12us0.279ms DictWithFloatKeys: 57ms 58ms0.06us0.503ms DictWithIntegerKeys: 47ms 48ms0.04us0.672ms DictWithStringKeys: 40ms 41ms0.03us0.672ms ForLoops: 45ms 45ms1.82us0.031ms IfThenElse: 54ms 55ms0.04us0.503ms ListSlicing: 50ms 51ms3.64us0.042ms NestedForLoops: 65ms 67ms0.04us0.002ms NestedListComprehensions: 64ms 65ms5.44us0.066ms NormalClassAttribute:129ms130ms0.11us0.363ms NormalInstanceAttribute: 62ms 62ms0.05us0.365ms PythonFunctionCalls: 49ms 50ms0.15us0.203ms PythonMethodCalls: 69ms 69ms0.31us0.133ms Recursion: 86ms 86ms1.72us0.334ms SecondImport: 57ms 59ms0.59us0.131ms SecondPackageImport: 59ms 60ms0.60us0.131ms SecondSubmoduleImport:103ms104ms1.04us0.131ms SimpleComplexArithmetic: 45ms 45ms0.05us0.267ms SimpleDictManipulation: 84ms 84ms0.07us0.334ms SimpleFloatArithmetic: 46ms 47ms0.04us0.402ms SimpleIntFloatArithmetic: 57ms 58ms0.04us0.401ms SimpleIntegerArithmetic: 57ms 57ms0.04us0.401ms SimpleListComprehensions: 54ms 55ms4.56us0.066ms SimpleListManipulation: 42ms 43ms0.04us0.506ms SimpleLongArithmetic: 37ms 38ms0.06us0.199ms SmallLists: 61ms 63ms0.09us0.266ms SmallTuples: 63ms 65ms0.12us0.300ms SpecialClassAttribute:184ms187ms0.16us0.368ms SpecialInstanceAttribute: 62ms 63ms0.05us0.370ms StringMappings:206ms211ms0.84us0.293ms StringPredicates: 65ms 67ms0.10us1.328ms StringSlicing: 74ms 75ms0.13us0.559ms TryExcept: 36ms 36ms0.02us0.503ms TryFinally: 45ms
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
kxroberto kxrobe...@users.sourceforge.net added the comment: It doesn't happen in Python 3 Yet the cheap/unnecessary pre-imports of ssl in those other mentioned socket using libs (urllib (cgi!),httplib,smtplib,pop,imap...) exist there. socket is rarely used directly, so not much difference to Py2 in effect overall. Well, by this measure, we probably have unnecessary imports all over the place, since the general guideline is to import modules at the top-level rather than inside functions (the reason is partly technical, to avoid potential deadlocks with the import lock). see e.g. issue #1046077. As said, in this case here its even about libs almost as big as the python binary itself (on many platforms). When there are only few link points, and a huge effect (-usage probabilities), late imports shall be used. Python is dynamic. The list, as posted, is short here. Grep ssl in Python lib. Its not reasonable to draw the big libcrypto and libssl almost always. Thus I'd request to not close this issue so swift. This is IHMO really a point to make python startup significantly faster, with a rather simple means. If you are using a network library such as urllib or others you mentioned, then startup time will surely be small compared to the time spent sending and retrieving data over the network, no? no. This is to cheap here. I'd vote for some discipline regarding such levels of resource usage. (I often wonder why software today isn't much faster than years ago - though the nominal speed of hardware increases tremendously. package sizes grow, without appropriate growth of functionality. This is one example how the rescources are wasted too careless.) For example each cgi script (which has to respond fast and does only a small job), which does import cgi and a few lines; or a script which just uses e.g., urllib string format functions ... : the whole thing is drawn. Also the linkage of _ssl solely against a detailed version of libssl/libcrypto is still questionable. I don't know the reasons (if any). Perhaps you can open a separate issue about that? Yet the issue of this library is here now. Why procrastinate? This is therefore a problem with the Debian package I'm not into the Python build files. Just to ask/double-check: is that observed _semi_ static link selection (which is good otherwise - somebody must have done surprisingly lots of care) really from Debian or is there maybe a sort of 2nd default option bundle somewhere in Pythons configure? (If really not so I would go for Debian BTS.) Well, seeing as Mageia's Python 2.7 doesn't have the problem, I really think it must be Debian-specific: as emphasized in my sentence such reasoning alone would be sloppy. Thats why I asked. Does sb actually know, if this optimized semistatic module list is really not in Pythons configure somewhere? (The Debians would have gone rather deep into issues when they really created that fine tuning on their own. almost can't believe. If so I'd even recommend to adopt that (except _ssl.so) generally into Pythons standard configuration - at least for Linux) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13584] argparse doesn't respect double quotes
New submission from Phillip Feldman phillip.m.feld...@gmail.com: I tried switching from `optparse` to `argparse`, but ended up reverting back because `argparse` does not respect double quotes. For example, `optparse` correctly parses the following, while `argparse` does not: python myprog.py --ng --INP=Demo IO (`argparse` splits Demo and IO into separate tokens). -- components: Library (Lib) messages: 149258 nosy: Phillip.M.Feldman priority: normal severity: normal status: open title: argparse doesn't respect double quotes type: behavior versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13584 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13580] Pre-linkage of CPython =2.6 binary on Linux too fat (libssl, libcrypto)
Antoine Pitrou pit...@free.fr added the comment: (I often wonder why software today isn't much faster than years ago - though the nominal speed of hardware increases tremendously. package sizes grow, without appropriate growth of functionality. This is one example how the rescources are wasted too careless.) I don't know of any evidence that software slowness has to do with code size. When code isn't called, it doesn't pollute the instruction caches and hence shouldn't affect execution speed. I understand the concern about py2exe and similar distribution systems (although distribution size should be much less important nowadays than 10 years ago). But, really, it's a separate issue. For example each cgi script (which has to respond fast and does only a small job), which does import cgi and a few lines; or a script which just uses e.g., urllib string format functions ... : the whole thing is drawn. Well, CGI scripts are a wasteful way to do programmatic page serving. If you care about performance, you should have switched to something like FastCGI or mod_wsgi. Also the linkage of _ssl solely against a detailed version of libssl/libcrypto is still questionable. I don't know the reasons (if any). Perhaps you can open a separate issue about that? Yet the issue of this library is here now. Why procrastinate? This sentence sounds like you want to dictate us what and how we should work on. That won't fly, sorry. The reason we want to avoid tackling multiple issues in a single tracker entry is simply so that the entries stay readable and searchable. (and, really, most projects' bug trackers work that way, for the same reasons) (The Debians would have gone rather deep into issues when they really created that fine tuning on their own. almost can't believe. There's nothing magical about libssl that would make us link it statically to the executable; it's far too optional a dependency for that. Perhaps Debian has its own bootstrapping requirements that mandate it, or perhaps they simply made a mistake and nobody complained before? Why don't you open an issue on their bug tracker, or at least try to contact them? You would get a definite answer about it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13570] Expose faster unicode-ascii functions in the C-API
Stefan Krah stefan-use...@bytereef.org added the comment: Sorry, the title of the issue isn't correct any more. The revised issue is that in 3.3 a) outfil.write(%s\n % t) is about 11% slower than in Python2.7 and 8% slower than in Python3.2. On the other hand in 3.3 the hack b) outfil.write(str(t)); outfil.write('\n') runs about as fast as a) in 3.2. This doesn't necessarily show up in microbenchmarks with timeit, so I thought I'd leave this open for others to see (and comment). But if I understand correctly, the slowdown in string formatting is expected, so we can indeed close this. -- resolution: - invalid stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13570 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13570] Expose faster unicode-ascii functions in the C-API
Antoine Pitrou pit...@free.fr added the comment: But if I understand correctly, the slowdown in string formatting is expected, so we can indeed close this. Well, expected doesn't mean it shouldn't be improved, so finding a way to speed it up would be nice ;) (probably difficult, though) -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13570 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
sbt shibt...@gmail.com added the comment: New version of the patch with tests and using _Py_IDENTIFIER. -- Added file: http://bugs.python.org/file23922/descr_qualname.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11886] test_time.test_tzset() fails on x86 FreeBSD 7.2 3.x: AEST timezone called EST
STINNER Victor victor.stin...@haypocalc.com added the comment: Hum, it's still not ok: == FAIL: test_tzset (test.test_time.TimeTestCase) -- Traceback (most recent call last): File /usr/home/db3l/buildarea/3.x.bolen-freebsd7/build/Lib/test/test_time.py, line 264, in test_tzset self.assertEqual(time.timezone, -36000) AssertionError: 18000 != -36000 -- resolution: fixed - status: closed - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11886 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13561] os.listdir documentation should mention surrogateescape
STINNER Victor victor.stin...@haypocalc.com added the comment: Can you please write a doc patch? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13561 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13248] deprecated in 3.2, should be removed in 3.3
STINNER Victor victor.stin...@haypocalc.com added the comment: .. versionchanged:: 3.2 - The *strict* parameter is deprecated. HTTP 0.9-style Simple Responses + The *strict* parameter is removed. HTTP 0.9-style Simple Responses are not supported anymore. Such change looks wrong: the parameter exists in Python 3.2. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13248 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13572] import _curses fails because of UnicodeDecodeError('utf8' codec can't decode byte 0xb5 ...') on ARM Ubuntu 3.x
STINNER Victor victor.stin...@haypocalc.com added the comment: @Barry: can you try to get a trace using gdb? Start python in gdb, set a breapoint on PyErr_SetObject, continue, run the Python command import _curses, get the gdb traceback (or continue if the error is not the UTF-8 error). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13572 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
Meador Inge mead...@gmail.com added the comment: On Sun, Dec 11, 2011 at 4:42 AM, Nick Coghlan rep...@bugs.python.org wrote: Explicitly spelling out __qualname__ like that makes the tests a bit too sensitive to otherwise irrelevant details of the test layout. I suggest using comparisons like self.assertEqual(wrapper.__qualname__, f.__qualname__) and self.assertNotEqual(wrapper.__qualname__, f.__qualname__) to make sure they're the same or different as appropriate, without caring about their precise value (this is similar to what the tests already do for dict_attr) Good point. I will commit Filip's latest patch that has these fixes. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8538] Add FlagAction to argparse
Changes by Berker Peksag berker.pek...@gmail.com: -- nosy: +berkerpeksag ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8538 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13585] Add contextlib.CleanupManager
New submission from Nikolaus Rath nikol...@rath.org: I'd like to propose addding the CleanupManager class described in http://article.gmane.org/gmane.comp.python.ideas/12447 to the contextlib module. The idea is to add a general-purpose context manager to manage (python or non-python) resources that don't come with their own context manager. Example code: with CleanupManager() als mngr: tmpdir = tempfile.mkdtemp() mngr.register(shutil.rmtree(tmpdir)) # do stuff with tmpdir # shutil.rmtree() get's called automatically when the block is over Note that mkdtemp() could of course also be changed to become its own context manager. The idea is to provide a general facility for this kind of problem, so it doesn't have to be reinvented whenever a module provides a ressource without its own context manager. Other possible uses are of course ressources that are completely external to Python, e.g. anything allocated with a subprocess (think of subprocess.check_call('mount'))/ I'll be happy to make a proper patch with documentation and testcases from Jan's code. As a matter of fact, I'll probably start working out it right now, so please let me know quickly if this doesn't have a chance of getting accepted. -- components: Library (Lib) messages: 149268 nosy: Nikratio priority: normal severity: normal status: open title: Add contextlib.CleanupManager type: feature request versions: Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13585 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13585] Add contextlib.CleanupManager
Nikolaus Rath nikol...@rath.org added the comment: Here's the first part of the patch with the implementation. I'll add tests and documentation as soon as someone confirms that the idea API is okay. -- keywords: +patch Added file: http://bugs.python.org/file23923/CleanupManager_patch_v1.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13585 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12704] Language References does not specify exception raised by final yield()
Nikolaus Rath nikol...@rath.org added the comment: Hmm. Does the total lack responses mean agreement, disagreement or lack of interest? I'm attaching a patch against Python 3.3 in the hope of moving this forward. -- keywords: +patch Added file: http://bugs.python.org/file23924/patch_v1.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12704 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13585] Add contextlib.CleanupManager
Raymond Hettinger raymond.hettin...@gmail.com added the comment: I would like to see this posted as a recipe before being put in the standard library. It needs a chance to mature and to demonstrate that people will want to use it. FWIW, the example is problematic in a couple of ways. The registration of shutil.rmtree(tmpdir) will run *before* mngr register is called. Also, it doesn't take advantage of any of the with-statement features. It doesn't show any advantage over a standard try/finally which is arguably cleaner: tmpdir = tempfile.mkdtemp() try: # do stuff with tmpdir finally: shutil.rmtree() Also, I suspect that the CleanupManager would be an error-prone construct because the registration occurs somewhere after the with-statement is set-up, possibly resulting in errors if there is an early, pre-registration failure. -- nosy: +rhettinger ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13585 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13585] Add contextlib.CleanupManager
Nikolaus Rath nikol...@rath.org added the comment: Not sure what you mean with posted as a recipe -- are you thinking of a specific website/mailing list? Example: which one do you mean? The one in the issue or the one in the patch? With statement: what advantages do you have in mind? Try/finally: I think the patch and the discussion in python-ideas talk about the advantage over try/finally. IMO the two most important points are: (1) avoids deep and pointless indendation for multiple ressources, (2) keeps logically connected lines (allocation+cleanup) closely together in the source instead of splitting them far apart like try/finally. error-prone: not sure if I understand you correctly. If there is an error prior to registration, the callback will not be called (that's a feature). To what kind of errors could that lead? Sorry for basically asking you to re-explain every sentence, but I honestly don't understand most of your message. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13585 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13585] Add contextlib.CleanupManager
Raymond Hettinger raymond.hettin...@gmail.com added the comment: ''' Example code: with CleanupManager() als mngr: tmpdir = tempfile.mkdtemp() mngr.register(shutil.rmtree(tmpdir)) -- this makes the call right away # do stuff with tmpdir ''' The part of my note that should be clear is that the idea and code need to prove itself before being added to the standard library. So far, there has been zero demand for this and I've not seen code like it being used in the wild. AFAICT, it is not demonstrably better than a straight-forward try/finally. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13585 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13584] argparse doesn't respect double quotes
Changes by Ned Deily n...@acm.org: -- nosy: +bethard ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13584 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset 963e98f5ad31 by Meador Inge in branch 'default': Issue #13544: Add __qualname__ to functools.WRAPPER_ASSIGNMENTS. http://hg.python.org/cpython/rev/963e98f5ad31 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13544] Add __qualname__ to functools.WRAPPER_ASSIGNMENTS
Meador Inge mead...@gmail.com added the comment: Thanks for the patch Filip. -- resolution: - fixed stage: patch review - committed/rejected type: - behavior ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13544 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13586] Replace selected not working/consistent with find
New submission from Marco Scataglini atlant...@gmx.com: Entering the Replace dialog (by ctrl+h or from Edit/Replace... menu) with a selection does not auto-magically have the selected text in the find field. This is not consistent with the other find functions (ctrl+f: Find...; alt+F3: Find in Files...; ctrl+F3: Find Selection) where the highlighted text automatically entered in the find field. -- components: IDLE messages: 149276 nosy: marco priority: normal severity: normal status: open title: Replace selected not working/consistent with find type: behavior versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13586 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13573] csv.writer uses str() for floats instead of repr()
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset bf7329190ca6 by Raymond Hettinger in branch '2.7': Issue #13573: The csv.writer now uses the repr() for floats rather than str(). http://hg.python.org/cpython/rev/bf7329190ca6 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13573 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com