One more small optimization: Where possible, for loops that do a search and then try to break out of the loop early, eliminate the attempt to break out of the loop after the last search. And with that, I'm declaring __dynamic_cast done. Though if anyone sees any problems, has suggestions for improvements, or wants to contribute some test cases, that is certainly welcome feedback.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148246 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/dynamic_cast_stress.cpp b/test/dynamic_cast_stress.cpp
index a6fce73..2106ab7 100644
--- a/test/dynamic_cast_stress.cpp
+++ b/test/dynamic_cast_stress.cpp
@@ -73,9 +73,9 @@
Timing results I'm seeing (median of 3 microseconds):
libc++abi gcc's dynamic_cast
-B<Width/2, Depth> -O3 50.694 93.190 libc++abi 84% faster
-B<Width/2, Depth> -Os 55.235 94.103 libc++abi 70% faster
-A<Width, Depth> -O3 14.895 33.134 libc++abi 122% faster
-A<Width, Depth> -Os 16.515 31.553 libc++abi 91% faster
+B<Width/2, Depth> -O3 48.334 93.190 libc++abi 93% faster
+B<Width/2, Depth> -Os 58.535 94.103 libc++abi 61% faster
+A<Width, Depth> -O3 11.515 33.134 libc++abi 188% faster
+A<Width, Depth> -Os 12.631 31.553 libc++abi 150% faster
*/