-
Notifications
You must be signed in to change notification settings - Fork 266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Table Performance Improvements #228
Conversation
Codecov Report
@@ Coverage Diff @@
## master #228 +/- ##
==========================================
- Coverage 35.70% 35.45% -0.26%
==========================================
Files 11 11
Lines 591 598 +7
Branches 101 104 +3
==========================================
+ Hits 211 212 +1
- Misses 337 343 +6
Partials 43 43
Continue to review full report at Codecov.
|
I think I'll do some memory profiling before committing to the 1 year limit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the third commit, for a future PR, how expensive would it be to store all of the data we have? Maybe with a proper callback that just updates the current month or day, we can have everything saved which would make #196 a lot easier (?)
9e3ce2f
to
4495bca
Compare
In case this is useful for anyone, this is a 3 year store with every date filled. |
I made the profilings but saw negligible memory changes. |
Sounds great, I'll test it later today and give you feedback |
This looks great. I think with the internalStorage solution we are just a few lines from being able to have the overall balance. I'll do the review later today. |
4495bca
to
a42197e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks awesome!
Context / Background
I'm improving the performance of the table when switching between months. On the last release, it takes around 1s to switch up every month. After these optimizations, it now takes around 40ms.
Memory consumption analysis with "Heap Snapshots" taken with Chrome Dev Tools showed use went from around 4MB to 6MB on an idle screen. However, on the last release the heap usage increases by 4MB when switching up pages due to re-reading from store, and on this version, it increases at most 1MB. Anyway, these memory values are so low for today's computers that I think this is negligible.
What change is being introduced by this PR?
This is a series of commits.
It's going to feel much better for the user to use the program and look back into previous months, improving user experience.
How will this be tested?
Ran tests and tested with my user experience flows.
Before:
After: