> And it's not only your time, it's other's time that is being used (if not,
> hmm, wasted) to look for bugs that are so commonplace
> in C code.

Please Dima, do not look at my patches if you can not stand their
clumsiness. I do not pay anybody to review them, and so no one should
feel forced to do so.
As for me, I am sorry to say that I do not feel guilty anymore of not
being all-knowing. I know that I make mistakes, I try not to make them
twice and not to fall for the next one, but a teacher that yells at me
cannot teach me much anyway, so I do not pay much attention to that.

> I am sure that a vast majority here would prefer the code that they can read
> and understand for their work to the code that is perhaps 5 times faster,
> but full of dodgy hacks, which require expert ueberhackers (thanks, Volker
> and Willem-Jan!) to debug and fix...

Described like that, I would prefer the understandable code myself.

Now, the few C-level patches I submitted recently also solved some
problems that I may not have explained sufficiently. The most
important of them is *MEMORY*. We noticed while working on some Sage
code that it returned at some point a n*n matrix of integers as a
doubly-indexed dictionary. The size of the Python object was in
Gigabytes, while the "necessary information" did not go above 50MB.
That means that the code just did *not* run on relatively small
instances.
But the C code also goes faster, that is true.

I would like very much to have some examples of your "full of dodgy
hacks" (besides the 3-lines long popcount method).

Please also consider that my codes are usually..... *heavily* commented.

http://www.sagemath.org/doc/reference/sage/graphs/graph_decompositions/vertex_separation.html
http://trac.sagemath.org/sage_trac/attachment/ticket/11994/trac_11994.patch

http://www.sagemath.org/doc/reference/sage/graphs/pq_trees.html
http://trac.sagemath.org/sage_trac/attachment/ticket/7563/trac_7563.patch

Or others that are still waiting for a review

http://trac.sagemath.org/sage_trac/attachment/ticket/11584/trac_11584.patch
http://trac.sagemath.org/sage_trac/attachment/ticket/12306/trac_12306.patch
http://trac.sagemath.org/sage_trac/attachment/ticket/12090/trac_12090.patch

You have to admit that it is a bit harsh to describe these patches as
"hard to understand" and "full of dodgy hacks". Or at the very very
least that it is not out of lazyness from my part :-p

Nathann

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to