Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 4.29 KB

README.md

File metadata and controls

109 lines (76 loc) · 4.29 KB

#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: 14275
ORMLite - Avg: 15729

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

##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!