Mam na myśli wykorzystanie Realm.io jako mojego ORM w aplikacji produkcyjnej.Czy pola odczytu obiektu Realm są wolniejsze niż obiekty Java?
Jak rozumiem z dokumentów Obiekty RealmResults są przechowywane w BackendStore (dysku) zamiast w pamięci RAM, ponieważ RealmResult jest tylko proxy rzeczywistych obiektów zapisanych w bazie danych.
Moje pytanie brzmi, czy odczytanie pól obiektu RealmObject będzie równie szybkie, jak czytanie go z normalnego obiektu Java, biorąc pod uwagę, że obiekty Java są przechowywane w pamięci RAM. Mam wiele odczytów w mojej aplikacji i obawiam się, że wpłynie to na szybkość reakcji.
Tak więc, aby to naprawić, za każdym razem, gdy używam gettera w obiekcie RealmObject, w rzeczywistości jest on pobierany z bazy danych. Czy nie ma tu warstwy pamięci podręcznej? W przeciwnym razie, o co chodzi w tym, że szybko dostajesz zapytanie, jeśli powoli dostajesz prawdziwy obiekt? – orelzion
Każdy obiekt Realm jest wspierany przez plik Realm. Wewnętrznie, Realm jest mapowaniem pamięci do pliku Realm, co faktycznie przyspiesza działanie, ponieważ nie musisz deserializować obiektu. – geisshirt