Marc-André Giroux
@xuorig.bsky.social
330 followers 82 following 26 posts
APIs & Distributed Systems @Netflix https://magiroux.com
Posts Media Videos Starter Packs
Yep! City is a little wild already 😵‍💫
Bored of Rust vs X posts that compare a lang a team has been working with for years vs what can be explained by unfamiliarity with Rust. Oh no we unwrap() on a map get and it panics! Control for familiarity with the language, and I feel like a lot of stuff starts looking similar.
Sounds similar to “learned helplessness”
Yeah, at least it’s super cacheable so not generally a huge issue (although the miss can be nasty in JS)
Yeah I think that’s part of the true overhead 👍
Most commonly this leads to data-loading issues. Note that a sufficiently complex codebase will lead to very similar problems no matter the API style. GraphQL does put them in front of you sooner in the process.
"resolvers" are almost always at the source of issues. Compared with endpoint-based APIs, in GraphQL, most fields operate with very local information and have a smaller "horizon" for optimization.
GraphQL is slow, they usually fail to identify what is slow, and are rarely describing GraphQL's true overhead. Now, I do think GraphQL doesn't do a great job at creating a "pit of success" as far as performance goes. A naively implemented GraphQL API is most likely going to have serious perf issues
Serious take about GraphQL performance since that is very often brought up these days: GraphQL's inherent overhead is mostly limited to its parsing/validation step and its execution engine logic. Eliminating or keeping that to a minimum is important and generally easy. In practice, when people say
Sometimes it really feels like the GraphQL subreddit is half ads, half how to use Shopify’s API 🤣
You the first time you log errors in Rust coming from languages with exceptions with stack traces:

[ERROR] There was an error in your code base, good luck.
Reposted by Marc-André Giroux
Eventually showed up :)
@support.bsky.team hmm none of my likes/follows seem to persist for some reason. Are there ongoing issues?
It was wild! Fun to bump into each other on slack 😅
Ah its at build time 😄
And then the uncached case slowly gets to 700ms because why not and destroys you when it ultimately happens 🤣