Transcript
RealmReplacement for SQLite & Core Data
Android/Android Wear/iOS/OS X/Watch OS Java/Kotlin/Objective-C/Swift
Open Source Easy to Use Super Fast
Gson vs Realm
This test is to compare the speed of Gson and Realm with an extremely simple object model. The overall result of the test shows that Realm performs a little faster than Gson. However, it could show different results in other test conditions. Refer to the appendix for further information.
Object Creation
Gson.toJson
Gson.fromJson
Realm.createObject
copyToRealm
copyToRealmOrUpdate
Milisecond
0 450 900 1350 1800
Gson
Realm
)
)
Modelpublic class User extends RealmObject {
@PrimaryKey private String name; private int age;
@Ignore private int sessionId;
// + Standard getters & setters generated by your IDE }
Relationpublic class Email extends RealmObject { private String address; private boolean active; }
// Many to One public class Contact extends RealmObject { private Email email; }
// Many to Many public class Contact extends RealmObject { private RealmList<Email> emails; }
Writerealm.beginTransaction(); User user = realm.createObject(User.class); // Create a new object user.setName("John"); user.setEmail("john@corporation.com"); realm.commitTransaction();
User user = new User("John"); user.setEmail("john@corporation.com"); realm.beginTransaction(); realm.copyToRealm(user); // Copy the object to Realm. realm.commitTransaction();
WriteUser user = realm.createObject(User.class);
realm.copyToRealm(user);
realm.copyToRealmOrUpdate(user);
Query// Fluent interface RealmResults<User> result = realm.where(User.class) .sort("age"); .beginGroup() .equalTo("name", "John") .or() .equalTo("name", "Peter") .endGroup() .findAll();
for (User user : result) { // do something... }
SupportEncryption (AES-256) Multiple Databases In-Memory Realm
Listeners/Notifications Migration
Realm Browser (Mac OS)
More
Homepage: http://realm.io/
Facebook: http://fb.com/groups/realmkr
Email: kr@realm.io
AppendixTest Device: Galaxy S3 Test Model public class Contact { public String address; public String number; public boolean active; }
10000 times iteration per each test. 5 times test per each method Test Code: https://github.com/Test-Codes/Realm-Java-Benchmark
top related