DateTime: avoid unnecessary update #6110
No reviewers
Labels
No labels
accessibility
app-parity
area: creator
area: daemon
area: design
area: devops
area: discovery
area: docs
area: installer
area: internal
area: livestream
area: performance
area: proposal
area: reposts
area: rewards
area: search
area: security
area: subscriptions
area: sync
area: ux
area: viewer
area: wallet
BEAMER
channel
comments
community PR
consider soon
core team
css
dependencies
electron
Epic
feature request
first-timers-only
good first issue
hacktoberfest
help wanted
hub-dependent
icebox
Invalid
level: 0
level: 1
level: 2
level: 3
level: 4
merge when green
needs: exploration
needs: grooming
needs: priority
needs: repro
needs: tech design
notifications
odysee
on hold
playlists
priority: blocker
priority: high
priority: low
priority: medium
protocol dependent
recsys
redesign
regression
resilience
sdk dependent
Tom's Wishlist
trending
type: bug
type: discussion
type: improvement
type: new feature
type: refactor
type: task
type: testing
unplanned
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/lbry-desktop#6110
Loading…
Reference in a new issue
No description provided.
Delete branch "ip/date.time.optimization"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue
Part of #5834 Performance investigation
In a homepage with 120 tiles, the lists get rendered 3 times during initial update*. The sub-components are updating recursively*, so instead of 120 DateTime renders, we have 1000+ renders.
*will investigate separately on the 3-updates + why recursively
The resolved DateTime string for
timeAgo
rarely changes, and even if the string was "a few seconds ago", there's no real need to constantly update it.Change
Require a minimum 1-minute delta when deciding whether the component should update. Clients can change this value as needed.
After:
Test
shouldComponentUpdate
doesn't end up taking more time than not having it (it's in micro-second range, compared to the millisecond render).