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

BUG: Benchmark by name shows only 7 results on main screen, but there are many more shown on historical plot #1542

Open
DeaMariaLeon opened this issue Nov 27, 2023 · 3 comments

Comments

@DeaMariaLeon
Copy link
Contributor

DeaMariaLeon commented Nov 27, 2023

For example algorithms.Hashing.time_frame shows 7 results here:

Screenshot 2023-11-27 at 09 45 24

But in the historical evolution section or page, there are a lot more results (more than 7):
Screenshot 2023-11-27 at 09 47 42

Am I missing something?
In case this helps (this is temporary):
http://15.235.45.255:5000/

@DeaMariaLeon DeaMariaLeon changed the title BUG? Benchmark by name shows only 7 results on main screen, but there are many more (shown BUG: Benchmark by name shows only 7 results on main screen, but there are many more shown on historical plot Nov 27, 2023
@austin3dickey
Copy link
Member

Like #1541, I think this is also a known limitation of populating these numbers from a cache. Worth looking into how we'd fix it, balancing correctness with performance.

@jgehrcke
Copy link
Member

jgehrcke commented Jan 9, 2024

Hey Dea María!

I would like to add a few thoughts in addition to what Austin said.

The "benchmarks" page is fed from an in-memory cache of the N most recently submitted results. N is currently not very easy to set as an admin (that is work that needs to be done).

It's hard-coded. It is much smaller in testing config (50000) than it is in non-testing (800000).

Relevant code:

BMRT_CACHE_SIZE = 0.8 * 10**6

That is, one way for you to increase that number is to not run in TESTING mode.

Maybe try doing that. In the long term you might run into out-of-memory errors then when having many results and too little memory.

The actual number (the cache size) should be made nicely configurable because after all memory usage of the Conbench container/process very much depends on this, linearly. We've picked 800000 pretty arbitrarily for the infrastructure we use, where I believe each container has about 8 GB of memory for itself.

At the bottom of the page you will find details. For example, in your case it reads:

1150 unique benchmark names seen across the 50000 newest results between 2023-11-25 00:24:11 UTC and 2023-11-25 00:54:34 UTC (~0 days).

In case of Arrow Conbench it reads at the time of writing:

635 unique benchmark names seen across the 758136 newest results between 2023-12-27 16:04:46 UTC and 2024-01-09 16:22:05 UTC (~13 days).

@DeaMariaLeon
Copy link
Contributor Author

Thanks a lot for the explanation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants