[lxml-dev] build & performance issues with 2.0beta2
jholg at gmx.de
jholg at gmx.de
Fri Feb 1 10:03:42 CET 2008
> thanks for the report.
I'm actually pretty late... sorry for that. Maybe I should set up s.th. like a nightly or weekly checkout/build/test/bench someday.
> Hmm, guess that's something to fix in Cython. The *LongLong() functions
> are a
> recent addition for safe type conversion.
>
> The line numbers above differ from mine, though. Could you send me the
> source
> code of the lines that failed here?
110149
110150 static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
110151 if (x == Py_True) return 1;
110152 else if (x == Py_False) return 0;
110153 else return PyObject_IsTrue(x);
110154 }
110155
110156 static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x) {
110157 if (PyInt_CheckExact(x)) {
110158 return PyInt_AS_LONG(x);
110159 }
110160 else if (PyLong_CheckExact(x)) {
110161 return PyLong_AsLongLong(x);
110162 }
110163 else {
110164 PyObject* tmp = PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1;
110165 PY_LONG_LONG val = __pyx_PyInt_AsLongLong(tmp);
110166 Py_DECREF(tmp);
110167 return val;
110168 }
110169 }
110170
110171 static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
110172 if (PyInt_CheckExact(x)) {
110173 long val = PyInt_AS_LONG(x);
110174 if (unlikely(val < 0)) {
110175 PyErr_SetString(PyExc_TypeError, "Negative assignment to unsigned type.");
110176 return (unsigned PY_LONG_LONG)-1;
110177 }
110178 return val;
110179 }
110180 else if (PyLong_CheckExact(x)) {
110181 return PyLong_AsUnsignedLongLong(x);
110182 }
110183 else {
110184 PyObject* tmp = PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1;
110185 PY_LONG_LONG val = __pyx_PyInt_AsUnsignedLongLong(tmp);
110186 Py_DECREF(tmp);
110187 return val;
110188 }
110189 }
110190
110191
>
> It seems to lack catalog support. I thought about adding that test or not.
> Looks like it's better to leave it out.
Is that my libmxl2 that's lacking catalog support? Or do these tests try to access s.th. from the web?
> I wouldn't dare to compare the numbers here, given a difference of 30
> tests
> (especially not knowing which ones are missing). If you get errors, it
> naturally takes (a bit) longer. Also, it seems to run much less tests, so
> I
> guess you either do not have ElementTree installed for the compat tests
> (though I actually think that's the case for both runs), or it just takes
> longer to search the (non-existing) catalogs, or ...
>
> If you want real numbers, you should rather run the benchmarks.
Your're right, of course, I'm gonna do that. Got a little carried away as I could actually see the test count going up ever so slowly compared to my last build.
Btw I noticed that the file bench.py is missing, which the Makefile tries to invoke.
Is there any existing tools to compare logs of different benchmark runs? Guess I'm gonna hack up s.th. rather than check differences manually...
Thanks,
Holger
--
GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.
Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail
More information about the lxml-dev
mailing list