Cost of Using LiteSQL

Memory Overhead

Extra variables in each Persistent object instance:

  • bool modified - flag in each field
  • bool oldID - flag (used to track id - changes)
  • bool inDatabase - flag
  • Database* - pointer

Performance Overhead

  • one INSERT-SQL statement is required per inherited Persistent-class (deep class inheritance hierarchies cost)
  • selection of objects needs joins

Code Size Overhead

As demonstrated in Implementation Details, code generator (litesql-gen) generates a lot of code. In addition to that, a part of that code uses templates which will produce even more code.

This is rarely a problem but worth to note when memory is tight. Logo