i've used both Relay Classic and Apollo Client; in my experience they've both performed well, they each take slightly different approaches on how to handle things like caching and querying and applying mutation results. if I had to compare i'd say apollo is less restrictive in how you implement different things compared to Relay Classic which enforces stuff like routes