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

Fixed crashes on high-performance servers. Stabilization of variation tests. #1

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Dec 21, 2020

  1. Add timeout

    A timeout is required to prevent freezing and some crashes.
    KryukovaLidiya committed Dec 21, 2020
    Configuration menu
    Copy the full SHA
    5c067a6 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2020

  1. Stream stabilization

    Problems:
    1. Using a random number as a thrashhold is an extremely unstable way to estimate. Example: take 1,000,000 numbers and for the first iteration add up all to a random number which turned out to be 10, and on the second it turned out to be 10,000, respectively, and the time on the iteration will differ and variation per iterations jumps
    2. Using 1 number to compose an array takes place. But since we operate with large numbers and the largest in this chain do not have time to pass in 1 second. It will be more convenient and efficient to measure the average time. that is, to evaluate not on one number, but to use the range for the trashholds at once and evaluate the average of them. We took it depending on the numbers from 1% for little to 50% for huge ones.
    3. Shuffle destabilizes the program only because when adding values, they are stored side by side. But by mixing them, he mixes them in memory, so each time we have a different distance between the necessary cells in memory. That would not remove the possibility of mixing numbers. On the setup, after mixing, we added a pass to stabilize the values in memory, so that they would be consistently next to each other.
    4. Make a setup at each iteration on which each time both the array shuffle and the threshhold change, see the description above - this is not advisable from the point of view of variation, which turns out to be more than 100% in many cases. Accordingly, the setup before all iterations reduced the variation several times.
    5. Some cases remained unchanged because they are not variable.
    KryukovaLidiya committed Dec 22, 2020
    Configuration menu
    Copy the full SHA
    14088d4 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2020

  1. Stabilizing collections and run parameter settings

    1. For some benchmarks, there was too little warm-up
    2. Adding a random number strongly affects the variation. Therefore, we
       generate an array in advance in the setup, and then simply add elements
       from this array to other structures.
    3. We increased the value and slightly reduced the execution time for
       blocked structures, since there were regular falls.
    KryukovaLidiya committed Dec 31, 2020
    Configuration menu
    Copy the full SHA
    b25ef05 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d97a12a View commit details
    Browse the repository at this point in the history