Skip to content

Deal with big sample sizes and the slow down they produce in the page #3

Open

Description

@PragTob

When particularly fast functions are benchmarked for long, the sample size gets too large and plotly.js basically crashes or takes VERY LONG to render.

Current work arounds:

  • reduce :time to indirectly reduce sample size
  • remove the individual graphs from the resulting HTML by hand (they are most of the cause of this happening) and maybe also the box plot (is also fed raw run times)

Proposed solutions (might go into separate issues)

  • print a warning when sample sizes exceed a certain threshold (like say 100_000)
  • provide the option to split the individual graphs into separate files and then link to them
  • render the box plot giving manually calculated quadrilles on the elixir side see this thread

Activity

  1. PragTob commented on May 7, 2017

    @PragTob
    MemberAuthor

    Splitting of files for individual benchmarks is implemented in 0.2.0

  2. Schultzer commented on Sep 27, 2025

    @Schultzer

    Wouldn't using a bar chart solve this, if there is a lot of data points, then it should use the normalized values like mean and average, makes no sense to me why you would want those fancy graphs unless explicitly set. I'm currently experiencing massive rendering issues even when only running one iteration.

  3. PragTob commented on Oct 5, 2025

    @PragTob
    MemberAuthor

    👋
    The max_sample_size that I have yet to release should mostly combat all of this and we should be much better.

    I like having those fancy graphs as they have way more information about the distribution of values. Just the bar charts with stdev can sometimes lie to you/tell by far not the whole story. I wanna promote their usage.

  4. Schultzer commented on Oct 5, 2025

    @Schultzer

    Is this in main?

  5. PragTob commented on Oct 6, 2025

    @PragTob
    MemberAuthor

    @Schultzer yup! Just my bad for not releasing it in too long, I'm hoping I'll get to it this week or next.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions