IData is a summary name of a developed standalone API designed for binary serialization and comparison of user data. The IData technology is deeply integrated into the STSdb 4.0 engine. It uses reflection and .NET expressions to generate the appropriate persist and comparer logic for each user type. The main focus of the technology is speed and intuitive use.
Using .NET reflection and expression trees, a concrete persist and comparer logic can be generated for every user data. Unlike old binary serialization classes, which always query the type of every object and use lots of casts and switches, the IData engine uses type reflection once to generate the exact needed .NET expressions. Without any performance drop-off or additional user efforts, code for persisting is generated and compiled on the fly. The compiled code looks like an ordinary code that the developer could have written and is executed with the same speed (as if it was actually there). This technology is the second main reason for the STSdb 4.0 speed (the first one is the WaterfallTree technology).