Die
RTL wird ohne Assertions kompiliert, das siehst du übrigens, wenn du mal in EnsureRange reindebuggst.
Übrigens, du hast oben
EnsureRange( 0.0, 1.0, AValue );
geschrieben, aber ich gehe davon aus, dass du
EnsureRange( AValue, 0.0, 1.0 );
meintest
wenn EnsureRange sehr oft und an vielen Stellen aufgerufen wird ist es doch der erste Kandidat für ein Profiling Problem.
Kaum, außer du rufst EnsureRange laufend in Schleifen auf.
Ansonsten Regel Nummer 1 - Anwendung durch nen Profiler jagen (und damit meine ich einen
SamplingProfiler - und keinen Instrumentation Profiler wie AQTime), um eine grobe Idee zu bekommen, was wirklich die Zeit verbraucht.