I'm investigating a particularly slow test and so far it looks like I should focus around the cache and merging records area. The tests are actually pretty isolated and are simply loading three different responses from mock server and are verifying the data and that queries update one another. The responses aren't particularly big, they contain lists of not very complex items (several fields, few shallowly nested fields).
Do you have any pointers how I can go about getting more information, maybe enabling some debug logs, timing information etc.? I don't want to report anything yet until I understand the issue and that it's not e.g. malformed response. Although anecdotally I've noticed performance regression around loading lists after v3 update
You could write an interceptor that adds some timing information but if you're suspecting the cache, it might be easier to to use the ApolloStore directly
mbonnin
07/26/2023, 6:04 PM
There are microbenchmarks here that you can use as a reference
w
wasyl
07/26/2023, 6:05 PM
That looks pretty useful, thanks!
wasyl
07/26/2023, 6:14 PM
🦆 I just found the bug in the test which was causing the delay 🙂 It was a lock probably and I'm not sure why I didn't see it the profiling results 😕 Anyway I'll still take a look at the performance at some point though 🤞