2008.12.17 20:54 "[Tiff] Deleting tags from a directory", by Frank Warmerdam

2009.02.05 20:00 "Re: [Tiff] assertions, and building with DEBUG/NDEBUG", by Bob Friesenhahn

I have not heard of a build production process for open-source based systems which intentionally disables assertions. More than likely they are disabled in quite a few closed-source applications.

It has always been my practice and assumption that assertions should be disabled in production software where performance and appropriate error handling is considered important.

Perhaps open-sourced operating systems are not really production software. :-)

My own software contains quite a lot of assertion statements but the performance boost from removing them was only a few percent. Quite a lot of the influence on performance is if the values checked will be immediately used or not. If the values will be immediately used then the assertion is almost free since the first access to the value is most of the cost. If the value is off in some data structure which is otherwise rarely used, then the cost may be rather high.

Regardless, I think that it should be up to the person building libtiff to decide if NDEBUG should be applied, and that it should not be the default.

Bob
======================================
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/