Curious if the author has made any optimizations around the observable queries to prevent small changes to the database from re-running everything? We had to do a bunch of optimizations so that changes would only cause queries to re-execute when absolutely necessary. Our case might be extreme though - the mail client has several GBs of mail data in SQLite and 50+ observable queries for different parts of the UI.
I would be very interested in chatting with more people (I see the Realm comment as well) about this stuff. Maybe we could do a podcast on JS databases and perf. (Here are my JS perf findings: https://www.youtube.com/watch?v=BEqH-oZ4UXI )
We did something similar using Realm (granted it was in a native mobile app, but I think they have a node port now) and it really kicked ass performance wise even with a boatload of observable queries.
How do you handle the fast producer (query result) - slow consumer problem without any kind of backpressure?
I would love to see an implementation based on channels (js-csp , core.async..).
Curious if the author has made any optimizations around the observable queries to prevent small changes to the database from re-running everything? We had to do a bunch of optimizations so that changes would only cause queries to re-execute when absolutely necessary. Our case might be extreme though - the mail client has several GBs of mail data in SQLite and 50+ observable queries for different parts of the UI.