This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2014年01月08日 00:31 by larry, last changed 2022年04月11日 14:57 by admin.
| Messages (9) | |||
|---|---|---|---|
| msg207649 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月08日 00:31 | |
This is a meta-issue tracking all the Argument Clinic Derby sub-issues. |
|||
| msg207650 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月08日 00:34 | |
The issue tracker isn't letting me add all the dependencies to the dependency list. For the record, here are the numbers: #20133 #20148 #20151 #20152 #20159 #20168 #20170 #20171 #20172 #20173 #20174 #20175 #20177 #20178 #20179 #20180 #20181 #20182 #20183 #20184 #20185 #20186 (so far) |
|||
| msg207697 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月08日 20:33 | |
Here's how the files were parceled out into the various bundles: #20170 Derby #1: Convert 137 sites to Argument Clinic in Modules/posixmodule.c Modules/posixmodule.c: 137 sites #20171 Derby #2: Convert 115 sites to Argument Clinic in Modules/_cursesmodule.c Modules/_cursesmodule.c: 115 sites #20172 Derby #3: Convert 67 sites to Argument Clinic across 4 files PC/msvcrtmodule.c: 18 sites PC/winreg.c: 24 sites PC/winsound.c: 3 sites Modules/_winapi.c: 22 sites #20173 Derby #4: Convert 53 sites to Argument Clinic across 5 files Modules/_codecsmodule.c: 43 sites Modules/sha1module.c: 2 sites Modules/sha256module.c: 3 sites Modules/sha512module.c: 3 sites Modules/md5module.c: 2 sites #20174 Derby #5: Convert 50 sites to Argument Clinic across 3 files Modules/socketmodule.c: 47 sites Modules/socketmodule.h: 1 sites Modules/_functoolsmodule.c: 2 sites #20175 Derby #6: Convert 50 sites to Argument Clinic across 8 files Modules/_io/bufferedio.c: 13 sites Modules/_io/bytesio.c: 6 sites Modules/_io/fileio.c: 6 sites Modules/_io/iobase.c: 4 sites Modules/_io/stringio.c: 5 sites Modules/_io/textio.c: 8 sites Modules/_multiprocessing/multiprocessing.c: 3 sites Modules/_multiprocessing/semaphore.c: 5 sites #20159 Derby #7: Convert 51 sites to Argument Clinic across 3 files Modules/_elementtree.c: 31 sites PC/_msi.c: 15 sites PC/bdist_wininst/install.c: 5 sites #20177 Derby #8: Convert 52 sites to Argument Clinic across 3 files Modules/_datetimemodule.c: 20 sites Modules/timemodule.c: 8 sites Modules/_decimal/_decimal.c: 24 sites #20178 Derby #9: Convert 52 sites to Argument Clinic across 11 files Modules/_ctypes/_ctypes.c: 8 sites Modules/_ctypes/_ctypes_test.c: 1 sites Modules/_ctypes/callproc.c: 14 sites Modules/_ctypes/stgdict.c: 0 sites Modules/_curses_panel.c: 3 sites Modules/_sqlite/cache.c: 1 sites Modules/_sqlite/connection.c: 12 sites Modules/_sqlite/cursor.c: 5 sites Modules/_sqlite/microprotocols.c: 1 sites Modules/_sqlite/module.c: 6 sites Modules/_sqlite/row.c: 1 sites #20179 Derby #10: Convert 50 sites to Argument Clinic across 4 files Modules/overlapped.c: 21 sites Modules/_ssl.c: 20 sites Objects/bytes_methods.c: 1 sites Objects/bytesobject.c: 8 sites #20180 Derby #11: Convert 50 sites to Argument Clinic across 9 files Modules/_collectionsmodule.c: 4 sites Modules/itertoolsmodule.c: 11 sites Modules/_randommodule.c: 1 sites Objects/unicodeobject.c: 14 sites Modules/xxlimited.c: 4 sites Modules/xxmodule.c: 5 sites Modules/xxsubtype.c: 5 sites Objects/stringlib/find.h: 1 sites Objects/stringlib/transmogrify.h: 5 sites #20181 Derby #12: Convert 50 sites to Argument Clinic across 4 files Objects/bytearrayobject.c: 13 sites Modules/parsermodule.c: 13 sites Modules/unicodedata.c: 12 sites Modules/readline.c: 12 sites #20182 Derby #13: Convert 50 sites to Argument Clinic across 5 files Modules/signalmodule.c: 12 sites Modules/selectmodule.c: 12 sites Modules/zlibmodule.c: 11 sites Python/sysmodule.c: 10 sites Modules/_hashopenssl.c: 5 sites #20183 Derby #14: Convert 50 sites to Argument Clinic across 6 files Modules/mmapmodule.c: 10 sites Modules/_localemodule.c: 10 sites Modules/zipimport.c: 9 sites Modules/ossaudiodev.c: 9 sites Modules/_testbuffer.c: 9 sites Modules/_struct.c: 3 sites #20152 Derby #15: Convert 50 sites to Argument Clinic across 9 files Python/import.c: 8 sites Modules/cmathmodule.c: 8 sites Modules/cjkcodecs/multibytecodec.c: 8 sites Modules/arraymodule.c: 8 sites Modules/pyexpat.c: 7 sites Modules/fcntlmodule.c: 7 sites Modules/pwdmodule.c: 2 sites Modules/spwdmodule.c: 1 sites Modules/grpmodule.c: 1 sites #20184 Derby #16: Convert 50 sites to Argument Clinic across 9 files Modules/faulthandler.c: 7 sites Modules/_pickle.c: 7 sites Modules/_lzmamodule.c: 7 sites Python/bltinmodule.c: 6 sites Modules/termios.c: 6 sites Modules/syslogmodule.c: 6 sites Modules/_dbmmodule.c: 4 sites Modules/_gdbmmodule.c: 2 sites Modules/_json.c: 5 sites #20185 Derby #17: Convert 50 sites to Argument Clinic across 14 files Objects/typeobject.c: 5 sites Objects/longobject.c: 5 sites Objects/listobject.c: 5 sites Objects/floatobject.c: 4 sites Modules/resource.c: 4 sites Modules/_threadmodule.c: 4 sites Modules/_bz2module.c: 4 sites Modules/_bisectmodule.c: 4 sites Python/marshal.c: 3 sites Objects/exceptions.c: 3 sites Modules/nismodule.c: 3 sites Modules/gcmodule.c: 3 sites Python/_warnings.c: 2 sites Modules/_cryptmodule.c: 1 sites #20186 Derby #18: Convert 31 sites to Argument Clinic across 23 files Objects/tupleobject.c: 2 sites Objects/memoryobject.c: 2 sites Objects/descrobject.c: 2 sites Objects/complexobject.c: 2 sites Modules/_operator.c: 2 sites Modules/_opcode.c: 2 sites Modules/_lsprof.c: 2 sites Modules/_heapqmodule.c: 2 sites Objects/weakrefobject.c: 1 sites Objects/structseq.c: 1 sites Objects/rangeobject.c: 1 sites Objects/object.c: 1 sites Objects/moduleobject.c: 1 sites Objects/funcobject.c: 1 sites Objects/fileobject.c: 1 sites Objects/enumobject.c: 1 sites Objects/codeobject.c: 1 sites Objects/boolobject.c: 1 sites Modules/symtablemodule.c: 1 sites Modules/mathmodule.c: 1 sites Modules/_tracemalloc.c: 1 sites Modules/_io/_iomodule.c: 1 sites Modules/_csv.c: 1 sites |
|||
| msg208152 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年01月15日 10:27 | |
I want to warn against the converting of base objects (whose sources lie in Objects/). Their performance is critical and the converting can worsen it. Often they even don't use PyArg_ParseTuple due to performance reasons or because argument parsing is too special for PyArg_ParseTuple. I would suggest to postpone it until Argument Clinic will generate optimized parsing code. The same is true for some modules. The performance of struct and operator is important. In any case these modules almost not use PyArg_ParseTuple and can be omitted. |
|||
| msg208170 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月15日 15:42 | |
Can you give me an example of performance degradation due to Argument Clinic? What percentage slowdown is common? |
|||
| msg208171 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年01月15日 16:07 | |
I have no any numbers. |
|||
| msg208172 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月15日 16:10 | |
Until you have some numbers, your assertion has no weight and should be ignored. (As Carl Sagan once wrote: "That which can be asserted without evidence can be dismissed without evidence." And as Donald Knuth wrote: "Premature optimization is the root of all evil.") |
|||
| msg208686 - (view) | Author: Tal Einat (taleinat) * (Python committer) | Date: 2014年01月21日 19:15 | |
I've been working on converting unicode, bytes and bytearray, but their files are separated into Derby groups #10, #11 and #12. Could we create a new issue and move the relevant files to it? The files I'd like to move: From Derby #10 (issue20179): Objects/bytes_methods.c Objects/bytesobject.c From Derby #11 (issue20180): Objects/unicodeobject.c Objects/stringlib/find.h Objects/stringlib/transmogrify.h From Derby #12 (issue 20181): Objects/bytearrayobject.c: 13 sites |
|||
| msg208687 - (view) | Author: Tal Einat (taleinat) * (Python committer) | Date: 2014年01月21日 19:20 | |
Never mind my previous comment; I realize it would create to much of a mess. Sorry for the noise. |
|||