A benchmark on a real marketplace app finds a gap in memory and speed, but not in processor load.

Flutter developers face a decision early in every project: how should the app manage its state? Two libraries dominate the conversation, and they take opposite approaches. GetX bundles state, routing and dependency injection into one package. Riverpod splits concerns and leans on providers. Both are popular, and until recently there was little head to head measurement on a realistic app.

A team set out to compare them properly. Instead of a toy example, they used Flutter ecommerce, an open source marketplace application available on GitHub. That choice matters, because marketplace apps carry the workloads that state managers struggle with: product lists, images, filters and search.
The team ran the same three features under both libraries and recorded three numbers for each: memory usage, execution time and processor utilisation.

Across the three features and the scenarios tested, memory usage and execution time differed. GetX used less memory and finished faster. The processor numbers told a different story: there was no meaningful difference between the two libraries on that measure.
The split is the interesting part. If one library had won on every axis, the choice would be simple. Instead, the result points to a trade off between how often a state manager rebuilds parts of the interface and how much raw work it asks the processor to do.
The authors draw a practical conclusion: GetX came out ahead on memory and speed in this test. That is a narrow claim, tied to one application and one set of features, and the paper presents it as such. It is still more than most teams have when they make the choice, which is usually based on documentation, community size and personal preference.
Jatnika, Akbar and Pinandito (2023). Comparative Analysis of the Use of State Management in E-commerce Marketplace Applications Using the Flutter Framework. Journal of Information Technology and Computer Science.