ORM FAQ

SQLite access with an ORM – FAQ

What is an Object-Relational-Mapper (ORM)?

An ORM is a layer between the relational SQLite database and the object-oriented app code. The ORM allows the developer to use the database without the need to transform objects into a format suited for the relational database.

Do I need an ORM to work with SQLite?

Continue reading

performant java hashfunctions

Performant Java hash functions – today’s Java hash problems and our solution

Today, core Java APIs lack high quality hash functions, and 3rd party implementations provide sub-optimal performance. As non-cryptographic hash function are important building blocks of software, this is a major bummer for developers.

Generally, the selection of available hash functions is plenty, and in the last decade, many new hash functions emerged with very good hashing properties. Surprisingly, the core Java API just still offers Adler32 and CRC32, which were designed as checksums many years ago. Of course, there are many hash implementations available outside of the core Java API. However, Continue reading

Android ORM Performance 2016

With greenDAO 3 released, it’s time again to look at the Android ORM performance landscape and do some benchmarks. This time, we also tested newer ORMs for SQLite like DbFlow, requery, SQLDelight, and SquiDB. Also, we had an extensive look at benchmarks done by others. Let’s get started with our results:

Continue reading

benchmarking on Android

Benchmarking on Android

I don’t believe in any statistics I didn’t fake myself (German saying)

Doing good performance benchmarks is hard and benchmarking on Android is no exception. Here is a checklist on how to do fair and robust benchmarks:

Continue reading

greenDAO 3 released

We are happy to announce greenDAO Version 3 today. Since its initial release 5 years ago, greenDAO has always been the fastest ORM for Android. It was also the first ORM to apply code generation for maximum performance. With greenDAO 3, we made code generation much more convenient: by adopting entity annotations you can drop the generator project. In its place comes the all new Gradle plugin, which automatically triggers code generation at build time. Like that, you can simply use greenDAO 3 annotations on your entities:
Continue reading

EventBus 3 released, now based on @Annotations

EventBus3
Today, we are pleased to release EventBus 3. Previous versions of EventBus rejected to use annotations for performance reasons. Now, version 3 embraces annotations to improve performance. How does that make sense? Unfortunately, Android’s performance did not get any better. Reflection on annotations is still very bad compared to Desktop Java, even on Android 6 and ART. EventBus 3 resolves this problem by introducing a new annotation processor, which will index all annotations at build time. It generates a class containing all the data that would be expensive to get at run time. Build-time indexing makes EventBus 3 the fastest EventBus ever.

Continue reading

greenDAO 1.0 Open Source Release

Today, we are happy to announce version 1.0 of greenDAO, which is also the first open source release. With this release, we think greenDAO is ready for a wide developer audience. The preview versions of greenDAO proved to be stable and some apps in the Android Market already use greenDAO. Android developers, stop messing around with SQL, start with greenDAO! 😉
Continue reading