Changes between Initial Version and Version 1 of Ticket #757, comment 2


Ignore:
Timestamp:
28/06/18 03:59:54 (7 years ago)
Author:
Olly Betts

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #757, comment 2

    initial v1  
    11It's a somewhat empirical choice (see #308).  In the current version of this testcase, "small" times a loop parsing the same query string `q` `n` times, and "large" concatenates `n/5` copies of `q` together and parses that 5 times.
    22
    3 We're trying to check that long query strings don't cause scaling problems, but the test is not ideal as we incur the overheads of parsing a lot more times for the "large" tests.  Ideally the test would be constructed such that "small" and "large" would give equal times, and we'd just have a margin to allow for random variations due to other loads on the machine, etc.  That's how most most of the scaling tests we have work (see `tests/harness/scalability.h` which defines `O_N_LOG_N` etc thresholds which are each the geometric mean between the scaling behaviours we want them to discriminate between - for 10 times the work, `O(n)` -> 10, O(log(n)) -> 20, so the threshold is set based on `sqrt(10*20)` which is about 14.1).  But this testcase is older that the `scalability.h` mechanisms.
     3We're trying to check that long query strings don't cause scaling problems, but the test is not ideal as we incur the overheads of parsing a lot more times for the "large" tests.  Ideally the test would be constructed such that "small" and "large" would give equal times, and we'd just have a margin to allow for random variations due to other loads on the machine, etc.  That's how most most of the scaling tests we have work (see `tests/harness/scalability.h` which defines `O_N_LOG_N` etc thresholds which are each the geometric mean between the scaling behaviours we want them to discriminate between - for 10 times the work, `O(n)` -> 10, `O(log(n))` -> 20, so the threshold is set based on `sqrt(10*20)` which is about 14.1).  But this testcase is older that the `scalability.h` mechanisms.
    44
    55It'd be better to try to adjust this testcase to be more self-balancing than just nudge the factor further.