Skip to content

Android application for benchmarking ORMLite and GreenDao against each other, as described in this Stackoverflow answer: http://stackoverflow.com/a/20724107/112705

License

Notifications You must be signed in to change notification settings

daj/android-orm-benchmark

 
 

Repository files navigation

#android-orm-benchmark

##Summary

ORM-Benchmark is an Android application built in Eclipse that benchmarks the following against each other:

The benchmark runs the following tasks:

  • CREATE_DB - Creation of database structure
  • WRITE_DATA - Writing 1000 'user' objects and 10000 'message' objects
  • READ_DATA - Read all 10000 'message' objects in the table
  • READ_INDEXED - Read an indexed field (the 5000th 'message' in the table)
  • READ_SEARCH - Query the first 100 rows that matches a search term (using LIKE)
  • DROP_DB - Drop database strucuture

Each task is run 5 times, and the application reports the average time for each in milliseconds.

##Sample Output

Building and running the ORM-Benchmark project produces output similar to that below.

  • The times are in milliseconds.
  • The results are shown on the device and are also logged to Logcat.

The results below combine the in-memory database results with the on disk database results side by side. They are from a Nexus 4 on 20th Dec 2013, and we've put an "M" in front of the tests for the in-memory results.

Task CREATE_DB
M RAW - Avg: 4
RAW - Avg: 230

M ORMLite - Avg: 6
ORMLite - Avg: 233

M GreenDAO - Avg: 3
GreenDAO - Avg: 163

Task WRITE_DATA
M RAW - Avg: 2925
RAW - Avg: 3281

M ORMLite - Avg: 6898
ORMLite - Avg: 7203

M GreenDAO - Avg: 1960
GreenDAO - Avg: 2470

Task READ_DATA
M RAW - Avg: 803
RAW - Avg: 808

M ORMLite - Avg: 1656
ORMLite - Avg: 1729

M GreenDAO - Avg: 1183
GreenDAO - Avg: 1186

Task READ_INDEXED
M RAW - Avg: 1
RAW - Avg: 1

M ORMLite - Avg: 2
ORMLite - Avg: 3

M GreenDAO - Avg: 1
GreenDAO - Avg: 1

Task READ_SEARCH
M RAW - Avg: 8
RAW - Avg: 8

M ORMLite - Avg: 119
ORMLite - Avg: 156

M GreenDAO - Avg: 7
GreenDAO - Avg: 6

Task DROP_DB
M RAW - Avg: 8
RAW - Avg: 515

M ORMLite - Avg: 10
ORMLite - Avg: 558

M GreenDAO - Avg: 8
GreenDAO - Avg: 369

##Screenshots

main

After pressing "Run Benchmark" you can press "Show Results" to see the results:

results

##Technical Reference ###Customizing Benchmark Tests

###Changing The GreenDao Tests

GreenDao requires a separate project to generate the source code for database entities and DAOs. The ORM-Benchmark-GreenDAO-Generator project is a Java application that you can run to regenerate the database definitions. You only need to do this if you want to change the GreenDao database model!

About

Android application for benchmarking ORMLite and GreenDao against each other, as described in this Stackoverflow answer: http://stackoverflow.com/a/20724107/112705

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%