Compile mappings

Mar 2, 2012 at 3:33 PM

Since this library is using reflection its mappings may not be too fast... At least not as much as they are when using PetaPoco or Dapper. They both use System.Reflection.Emit namespace.

I would like to suggest you do a similar thing here, because in a production environment, application's lifetime is long and schema doesn't change so having a cached compiled mapper makes things a lot faster.

Mar 2, 2012 at 9:42 PM
Edited Mar 2, 2012 at 9:58 PM

Performance testing and tuning is on our to-do list. The goal for FluentData is to be a simple and easy to use Micro ORM with good performance, and with a source code that can be easily understood and maintained by the developer who decide to use it. By using Reflection Emit we would stay true to the performance principle but not to keeping the source code easy to understand and maintain.

For 99.9% of the applications in the world reflection is not a problem (it's really fast on today's computers) and the time it takes is not something that is noticed by the end users (applications are usually slow due to poor SQL or too many database queries).

Lars-Erik Kindblad