2023/2024 Performance Improvements #2095
Replies: 3 comments 1 reply
-
I'm about to log off for the evening, but here's some things I think we should consider:
This was a long comment! I'm on a road trip and sort of writing train of thought, capturing ideas that were bouncing around in my head on the long drive. Hopefully other folks can take these ideas and run with them. Even if things start slowly (pun intended), I'm excited to explore what we can do here! |
Beta Was this translation helpful? Give feedback.
-
Thanks for this! In context of React Native, it might be interesting to benchmark / document how and if turning off Proxies helps with perf on the Hermes engine. I remember that Proxies were added to Hermes somewhat reluctantly also because they are bad for performance. Worth noting that there might be difference between Hermes and browser engines that can optimize at runtime. |
Beta Was this translation helpful? Give feedback.
-
One way to begin measuring and benchmarking performance is to reproduce specific scenarios that actual users run into with MST. Here's a discussion post soliciting these scenarios: #2096 |
Beta Was this translation helpful? Give feedback.
-
@jamonholmgren put together a Twitter poll asking if folks would prefer for MST to:
Improving performance won with 48.6% of the vote.
The poll only had 72 participants, and 16.7% of them just voted to watch the results, but I think anyone reading through old issues and discussions could see that this is an often-requested improvement in our library over the years.
Jamon and I also asked our own coworkers - both of us work at companies that make heavy use of MST in production. The consensus there was also that performance is more impactful than TypeScript improvements.
All that to say, it seems like improving the performance of MST in the next year would be a huge boon to our downstream users, and we should consider using this feedback as guidance in our overall direction.
I am going to open a series of discussion posts about MST performance we can use to solicit more specific feedback. This is the first of them, and I'd like to use it to specifically discuss the big picture: do people agree that this should be a priority? If so, why? Do people disagree? If so, why?
I'd like to keep this discussion post open and pinned as a landing page where we can collect links to other discussions, issues, PRs, and milestones.
Beta Was this translation helpful? Give feedback.
All reactions