While I understand you are trying to demonstrate poor performance with a simple app rather than making a giant full blown application, I disagree with how you did it given that three of your main points don't really impact the outcome and it is the last point that truly is the problem. For those who have more complex apps, a more complex solution may be required, but that should include performance tracing and timing to create baselines that can be used to ensure the changes are making a positive impact.
My concern is that devs are going to look at this post and start adding unnecessary memoization everywhere they can in their app when most of the time that isn't needed.
While I understand you are trying to demonstrate poor performance with a simple app rather than making a giant full blown application, I disagree with how you did it given that three of your main points don't really impact the outcome and it is the last point that truly is the problem. For those who have more complex apps, a more complex solution may be required, but that should include performance tracing and timing to create baselines that can be used to ensure the changes are making a positive impact.
My concern is that devs are going to look at this post and start adding unnecessary memoization everywhere they can in their app when most of the time that isn't needed.
I'd give developers more credit than that 🙂