✨ A magical persistence library (and so much more) for state-driven iOS and Mac apps ✨
MIT License
Bot releases are visible (Hide)
Published by mergesort over 2 years ago
Don't let the minor version bump fool you, this version is a huge bump in performance. As always it's the code you write that causes problems and the code you don't write that solves problems. It turns out I was creating many unnecessary writes on startup launch and additionally every time an item was added to the Store. This became a worse and worse problem as a Store grew, impacting startup time and performance of writing or removing items from a large Store.
Startup time is dramatically improved. Testing in a profiler app I built I was able to get launch time for a Store with 8,000 objects from 15 seconds down to somewhere between 1-2 seconds. For small Stores the launch time is practically nothing.
There are also no longer any performance penalties for adding objects to a large Store. This is due to the fact we're no longer rewriting every item in the Store (duh), only writing a the new items that were added to the store. You can expect the same for remove operations.
A Combine subscription that was performing the unnecessary rewrites was removed, also means being able to remove the dependency on Combine, which removes the necessity for solving https://github.com/mergesort/Boutique/issues/1.
There are no API changes so none of your code has to change!
Published by mergesort over 2 years ago
Let's go shopping! 🛍️