Skip to content
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

unshuffleList performance #2352

Closed
dapplion opened this issue Apr 9, 2021 · 4 comments
Closed

unshuffleList performance #2352

dapplion opened this issue Apr 9, 2021 · 4 comments
Labels
prio-low This is nice to have. scope-performance Performance issue and ideas to improve performance.

Comments

@dapplion
Copy link
Contributor

dapplion commented Apr 9, 2021

unshuffleList() can represent a significant part of an epoch transition. This issue recaps some work to check it performance.

  1. Comparison against Lighthouse
list size Lightouse Lodestar
512 254.04 us 1.6034 ms (x6)
16384 6.2046 ms 18.272 ms (x3)
4000000 1.5617 s 4.9690 s (x3)
  1. Cost of hashing in shuffle

Changing the hash function with an echo function, estimate the total time spent hashing which is around 80%. Our hashing function could be optimized with native bindings, with a ~1.5-2x improve. With that unshuffleList() cpu time could be reduced by 40%.

  1. Profile for the record

Screenshot from 2021-04-09 11-37-37
Screenshot from 2021-04-09 11-37-53

@stale
Copy link

stale bot commented Jun 9, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 15 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta-stale Label for stale issues applied by the stale bot. label Jun 9, 2021
@dapplion
Copy link
Contributor Author

dapplion commented Jun 9, 2021

With the improvements in #2353 that's as much performance as we can squeeze. There are many other areas with higher priority to focus now

@dapplion dapplion closed this as completed Jun 9, 2021
@stale stale bot removed the meta-stale Label for stale issues applied by the stale bot. label Jun 9, 2021
@dapplion dapplion added scope-performance Performance issue and ideas to improve performance. prio-medium Resolve this some time soon (tm). labels Jun 9, 2021
@dapplion dapplion reopened this Jun 9, 2021
@dapplion dapplion added prio-low This is nice to have. and removed prio-medium Resolve this some time soon (tm). labels Jun 9, 2021
@stale
Copy link

stale bot commented Sep 19, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 15 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta-stale Label for stale issues applied by the stale bot. label Sep 19, 2021
@dapplion dapplion removed the meta-stale Label for stale issues applied by the stale bot. label Sep 20, 2021
@dapplion
Copy link
Contributor Author

unshuffleList has never shown up in benchmarks recently. Also thanks to the eager state transition ahead of the epoch start, shaving off some milliseconds won't make a difference here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
prio-low This is nice to have. scope-performance Performance issue and ideas to improve performance.
Projects
None yet
Development

No branches or pull requests

1 participant