[PATCH] D16726: [Profiling] Speed up unittests by ~5x

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 15:08:33 PST 2016


On Mon, Feb 1, 2016 at 10:44 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Fri, Jan 29, 2016 at 5:58 PM, Xinliang David Li <davidxl at google.com>
> wrote:
>>
>> To clarify, it is not 128 iterations, but creating a symbol table with
>> 128 entries -- which is a reasonable size.
>
>
> We don't generally test on "realistic" sized inputs in the regression suite.
> We write targeted tests for functionality. Broad testing is done in the
> test-suite and other integration level testing.
>
>>
>> Test coverage wise, it is probably the same as a 3-entry symtab.
>
>
> Then let's use a 3-entry symtab.
>
> (why 3? Because it tests the boundaries (first and last) and one "normal"
> case of a non-boundary value - while the boundaries probably aren't
> interesting in this algorithm, it's cheap enough to just follow that common
> practice in test case design)

Will update it to 3.

>
> I'm also curious about the padding parameter - what does it do? Choose how
> many null characters go between each value? What effect does that have/why
> is that a tuning parameter? (understanding what it's for can help us choose
> appropriate test cases/coverage for that functionality)

Internal padding bytes (for alignment to 4 bytes) can be zero to 3.

David

>
> (choosing appropriate test cases is a fairly broad area of knowledge, I
> can't seem to find a canonical reference on this, but "test case design",
> "choosing test cases", etc gives several results with the sort of discussion
> here:
> http://www.cdf.toronto.edu/~heap/148/F13/Lectures/W4/ChoosingTestCases.html
> - the point being to choose minimal, representative samples from the space
> of all possible inputs)


More information about the llvm-commits mailing list