[jdom-interest] Still more Verification
scott at alodar.com
Wed Aug 23 09:36:36 PDT 2000
At 02:48 PM 8/23/2000 +0200, Tako Schotanus wrote:
>And in what way would it be made "difficult"? Because I sure as hell
>wouldn't like it if I would be forced to use slower code just because to
>force correctness on lazy programmers. And the fastest code should be
>just as easy to use in my opinion.
In most cases, the best answer is to make the checking code be on by
default, but then to have a means of turning it off that is not
horrendous. Given that I am the profiler gnome for a number of projects, I
can state with little fear of contradiction that most optimizations are a
waste of time, but that some of them are very, very important. It is
important to make the right thing for the majority case be what happens
unless you jump through a hoop or two.
I feel much the same way about assertions - our old c++ programmers made
heavy use of them, with a boolean that could be compiled in or out. We
eventually found that in all but a very small subset of our code, the
checking just did not make a difference. Argument checks, for example,
took essentially zero time for most large methods. There were those few,
though, that could not ship in runtime code, since they involved long
searches or the like. Those stayed only in the debug version.
So, yes, there must be a way to turn it off. There are cases where it will
make a difference, but those cases are only the ones where you are working
in memory, as network or disk access will dwarf check time. Because some
people are doing that, we will want to make them happy.
The two means that have been suggested thus far are:
1. a method, such as "killVerification"
2. protected methods that require one to derive a subclass that can call
Of the two, I think I prefer number 1, as I would rather people not have to
look at the code if they do not have to. I can see number 2, though, as
you would have to recompile anyway if you wanted to get a profile for the
jdom classes, and you would need that to know whether this was the problem.
scott at alodar.com
More information about the jdom-interest