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

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 1 10:44:57 PST 2016


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)

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)

(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)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160201/8387492d/attachment.html>


More information about the llvm-commits mailing list