On 2月7日, 下午7时10分, "Diez B. Roggisch" <de...@nospam.web.de> wrote: > Terry schrieb: > > > On 2月7日, 下午3时36分, "Martin v. Löwis" <mar...@v.loewis.de> wrote: > >>> Does that say something about the code quality of Python3.0? > >> Not necessarily. IIUC, copying a single file with 2000 lines > >> completely could already account for that increase. > > >> It would be interesting to see what specific files have gained > >> large numbers of additional files, compared to 2.5. > > >> Regards, > >> Martin > > > But the duplication are always not very big, from about 100 lines > > (rare) to less the 5 lines. As you can see the Rate30 is much bigger > > than Rate60, that means there are a lot of small duplications. > > Do you by any chance have a few examples of these? There is a lot of > idiomatic code in python to e.g. acquire and release the GIL or doing > refcount-stuff. If that happens to be done with rather generic names as > arguments, I can well imagine that as being the cause. > > Diez
Example 2: Found a 16 line (106 tokens) duplication in the following files: Starting at line 4970 of D:\DOWNLOADS\Python-3.0\Python\Python-ast.c Starting at line 5015 of D:\DOWNLOADS\Python-3.0\Python\Python-ast.c Starting at line 5073 of D:\DOWNLOADS\Python-3.0\Python\Python-ast.c Starting at line 5119 of D:\DOWNLOADS\Python-3.0\Python\Python-ast.c PyErr_Format(PyExc_TypeError, "GeneratorExp field \"generators\" must be a list, not a %.200s", tmp- >ob_type->tp_name); goto failed; } len = PyList_GET_SIZE(tmp); generators = asdl_seq_new(len, arena); if (generators == NULL) goto failed; for (i = 0; i < len; i++) { comprehension_ty value; res = obj2ast_comprehension (PyList_GET_ITEM(tmp, i), &value, arena); if (res != 0) goto failed; asdl_seq_SET(generators, i, value); } Py_XDECREF(tmp); tmp = NULL; } else { PyErr_SetString(PyExc_TypeError, "required field \"generators\" missing from GeneratorExp"); -- http://mail.python.org/mailman/listinfo/python-list