blazeroni

Results 8 comments of blazeroni

I dug deeper and found the root problem. Replaced all of the previous workaround with a real fix and should also help in other situations besides just the Juno genesis...

@odeke-em not sure if you've started looking at this, but the latest code is much different than the previous version. Just a heads up.

Added a benchmark which illustrates the problem. Finishes in a few seconds with the changes in the PR. Takes minutes without it.

@odeke-em thanks for the feedback! I've updated the benchmark and added it as a comment. I had to reduce the size of the original benchmark (from 200k to 10k unsorted...

@kocubinski yes, your analysis matches my own. To test/verify this, I used a modified version of the latest Juno production release, available here: https://github.com/blazeroni/juno-bounty/commits/v9.0.0-invariants. That version depends on a modified...

hey @Cashmaney, nice solution! From my testing, the primary bottleneck in the original code is creating the iterator in `IterateValidatorSlashEventsBetween`. It takes about 180ms in the original, single-threaded code. My...

@kocubinski to be fair, @alexanderbez saw a much different version of the code that was merely a workaround for the actual problem. The assessment of it being too complicated was...

@kocubinski Based on my testing, it seems the goroutines help the code find data that will shrink/clear the unsorted cache, allowing the rest of the processing to go much more...