SQLCipher impact on application performance

Hi,

Could you please provide more information on how SQLCipher impacts overall performance of an application?

I have a situation where application is very intensive on read/write to the database (almost every second, even less than a second).

Thanks!

Hello @milos.vuckovic - The performance differences with SQLCipher will vary significantly based on a large number of factors, including platform, database size, database design, and query complexity. Impact could be as little as 1-5% for a query that returns a single row by indexed lookup, or inserts a single record. It could be much higher (e.g. ~50%) for a query returning a large amount of data on a full table scan, massive updates, etc. It’s really quite difficult to generalize. If I had to make a guess, performance impact is probably somewhere between 15-25%, given an application that meets the following criteria:

  1. well designed
  2. makes efficient use of database connections (i.e. does not constantly open and close connections triggering key derivation)
  3. normalized schema
  4. well indexed
  5. is not dealing with very large BLOB or text objects
  6. uses transactions appropriately

There is really not substitute for testing with your application though.

Here is a short article on other factors that can affect performance that is worth review:

SQLCipher Performance Optimization - Zetetic

As a further update, it is worth mentioning that SQLCipher Commercial and Enterprise packages include tools that can help quantify performance changes:

Hi,

Thank you for all the information.

Regards,
Milos