[New Feature Suggestion] Fast RTTI Implementation

Hello there. Let me introduce the fast rtti system. Many other library and system(ex. game engines) has there own rtti system. But normally their rtti system consume Big O(n) for dynamic casting another type. So, I implemented fast rtti Big O(1) time consuming rtti system. I used bit signature for class inhertance hierarchy expression. Thanks for reviewing my mail and source code

류인환 wrote:
Hello there. Let me introduce the fast rtti system. Many other library and system(ex. game engines) has there own rtti system. But normally their rtti system consume Big O(n) for dynamic casting another type. So, I implemented fast rtti Big O(1) time consuming rtti system. I used bit signature for class inhertance hierarchy expression. Thanks for reviewing my mail and source code
So, in order to use your facility is it necessary to derive from signature_base? Can the same be achieved non-intrusively? BR, Dmitry

류인환 wrote:
Hello there. Let me introduce the fast rtti system. Many other library and system(ex. game engines) has there own rtti system. But normally their rtti system consume Big O(n) for dynamic casting another type. So, I implemented fast rtti Big O(1) time consuming rtti system. I used bit signature for class inhertance hierarchy expression. Thanks for reviewing my mail and source code
How does the performance compare to compiler-native implementations of RTTI? - Jim

On Thu, Feb 5, 2009 at 8:12 AM, 류인환 <rihwan@gmail.com> wrote:
Hello there. Let me introduce the fast rtti system. Many other library and system(ex. game engines) has there own rtti system. But normally their rtti system consume Big O(n) for dynamic casting another type. So, I implemented fast rtti Big O(1) time consuming rtti system. I used bit signature for class inhertance hierarchy expression.
Game engines have their own many things, this doesn't mean it's a good idea to copy them. :) The main issue with user-code RTTI systems is that they can only support a subset of the built-in RTTI functions (which is why RTTI is a language feature.) For example, you can't implement dynamic_cast<void *> by yourself, and that's critical for many systems (for example serialization of pointers.) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode

AMDG 류인환 wrote:
Hello there. Let me introduce the fast rtti system. Many other library and system(ex. game engines) has there own rtti system. But normally their rtti system consume Big O(n) for dynamic casting another type. So, I implemented fast rtti Big O(1) time consuming rtti system. I used bit signature for class inhertance hierarchy expression. Thanks for reviewing my mail and source code
Your implementation is not O(1), it is O(total size of class hierarchy). All that you're doing is improving the performance by a constant factor and big-O ignores constants. In Christ, Steven Watanabe
participants (5)
-
Dmitry Goncharov
-
Emil Dotchevski
-
James Porter
-
Steven Watanabe
-
류인환