-
-
Notifications
You must be signed in to change notification settings - Fork 878
LDS Performance Improvements #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
+1, LDS performance needs lots of work. I'm glad you're finally publicly acknowledging this. See my angry bug report from April 2015: https://developers.facebook.com/bugs/1575754175998187 |
+1: 2.3 sec to get one row on a table of 800 objects... Ouch. |
👍 |
Hi Sorry to came back. Do you think one of these point can be associate to a milestone? Maybe not clean, but a PFQuery with a whereKey pointing to a String can be filtered direct from the DB (json), without unwrap. Just with this, Query time will be 99% smaller. Just my 2 cents |
Hey @FreudGit, absolutely! But you are right - we should attach more to milestones. Making it happen... |
WOW, thanks for the fast reply. PR? This was a bit to technical for me. But i'm happy if we can target and see better performance in the next release\weeks. 👍 |
PR is a shorthand for Pull Request Since removing |
Thanks again @nlutsenko. (completely off-topic)= how do you manage the multiple version(android, etc). Do you sync revision with other team(Android, .net, etc? Just curious! |
@FreudGit, 1.8.4 is coming very very soon after 1.8.4. A small tip is to look at the release schedule of 3 previous releases, it might get you an idea of how we try to release at the current moment. So far we don't sync versions between Android/.NET/iOS(OSX), since we have separate dependencies. |
Thanks(still curious). Are the dev of each language share code\need to have the more similar structure as possible? |
Not sure about the last question... |
Sorry for my bad english. And have a nice day. Just curious if, for example, Android LDS have the same performance problem because very similair coding approach. Dont want to bug anymore, no need to reply and no more question! |
Got you. I think the answer is yes - we share the same architecture and approaches for LDS, so say removing mutable containers on Android will also improve performance quite a lot! |
@nlutsenko Are 1.8.4 still a target for this ? :) |
I wish my answer was |
1.8.5 does contain good performance on LDS pinning and fetching? And, LDS performance issue persists on other parse SDKs like Android, OSX etc. |
Any update? Does anyone have tips for workarounds? |
I am glad to know that iOS sdk 1.9.0 is finally released so will it solve LDS issues? |
There are improvements for LDS, yes. |
Yeah, perhaps with and architectural proof of concept. Optimizing the storage for queries is where I believe we should go ie: creating additional tables with optimal indexes and then querying the table that holds the data by objectId. What do you think? |
This will speed up querying in LDS a lot. Could be a good start. Anyway, I'm planning to move all my LDS to realm, so I can make queries directly to any data properties. Also, this will speed up a lot saving the data to LDS. I was thinking about 3 options:
Then, I was planning to use realm DB directly to make my queries. To avoid dealing with realm DB, another improvement could be to translate the Parse queries to realm queries. Those are just some thoughts about this topic. What do you think? Is this a good LDS option? Could be a viable solution? I think the best solution is to have an automatic SQLite / CoreData like you are planning, so users will need only the Parse SDK. But to improve the LDS a lot more, I think that we can write an LDS abstraction that can be saved to some different kinds of DBs like realm or other. |
Are there any good ideas / success stories from others going from LDS to Realm? Core Data? Also didn't know LDS had been deprecated. |
@flovilmart @dplewis Any news on start a LDS alternative? Thanks |
Not yet
…On Sep 5, 2017, 05:49 -0400, Eduard Bosch Bertran ***@***.***>, wrote:
@flovilmart @dplewis Any news on start a LDS alternative?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Hi to all again. I'm starting using the iOS lib and I'll have to implement an LDS. Has anyone used any alternative to Parse LDS to combine the Parse SDK with Realm or another local database? I think I'll go with Realm as it allows working with lots of entries very efficiently. I think that this is the biggest issue has Parse right now. With a good LDS, it'll be great. |
This comment has been minimized.
This comment has been minimized.
@eduardbosch what solution did you come to? I wonder whether offering a bridge between Parse and say Realm could be useful. Although we haven't had many recent reports I think that LDS is still not the best especially under high loads. |
@Tom-Fox1 I haven't implemented offline data on iOS and I don't know if I'll add it to my app in the near future. I think that LDS is not a good solution for high data DBs with large pins. It'll be really good to have a bridge between Parse and SQLite or Realm. That will make offline data access really shine. Have you thought about any possible workaround? |
@eduardbosch I’ve found that LDS has worked well for me, probably because I only need to pins a very small number of objects. However, I appreciate that it has problems and I see it as one of the most important issues to address with this SDK so I’m just looking into it. |
This issue has been automatically marked as stale because it has not had recent activity. If you believe it should stay open, please let us know! As always, we encourage contributions, check out the Contributing Guide |
This is a master issue for all things related to local datastore performance improvements.
PFObjectState
andPFUserState
instead ofPFObject
andPFUser
, to reduce the amount of locking required for every LDS operation.PFRelation
tracking.For anyone reaching this issue as a result of currently bad LDS performance here's our current recommendations:
The text was updated successfully, but these errors were encountered: