mirror of git://sourceware.org/git/glibc.git
strchr: Add additional benchmarks and tests
This patch adds additional benchmarks and tests for string size of 4096 and several benchmarks for string size 256 with different alignments.
This commit is contained in:
parent
1f745ecc21
commit
a00e2fe3df
|
@ -100,7 +100,7 @@ do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
|
|||
size_t i;
|
||||
CHAR *result;
|
||||
CHAR *buf = (CHAR *) buf1;
|
||||
align &= 15;
|
||||
align &= 127;
|
||||
if ((align + len) * sizeof (CHAR) >= page_size)
|
||||
return;
|
||||
|
||||
|
@ -151,12 +151,24 @@ test_main (void)
|
|||
do_test (i, 16 << i, 2048, SMALL_CHAR, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (0, 16 << i, 4096, SMALL_CHAR, MIDDLE_CHAR);
|
||||
do_test (i, 16 << i, 4096, SMALL_CHAR, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (i, 64, 256, SMALL_CHAR, MIDDLE_CHAR);
|
||||
do_test (i, 64, 256, SMALL_CHAR, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; ++i)
|
||||
{
|
||||
do_test (16 * i, 256, 512, SMALL_CHAR, MIDDLE_CHAR);
|
||||
do_test (16 * i, 256, 512, SMALL_CHAR, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 32; ++i)
|
||||
{
|
||||
do_test (0, i, i + 1, SMALL_CHAR, MIDDLE_CHAR);
|
||||
|
@ -169,12 +181,24 @@ test_main (void)
|
|||
do_test (i, 16 << i, 2048, 0, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (0, 16 << i, 4096, 0, MIDDLE_CHAR);
|
||||
do_test (i, 16 << i, 4096, 0, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (i, 64, 256, 0, MIDDLE_CHAR);
|
||||
do_test (i, 64, 256, 0, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; ++i)
|
||||
{
|
||||
do_test (16 * i, 256, 512, 0, MIDDLE_CHAR);
|
||||
do_test (16 * i, 256, 512, 0, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 32; ++i)
|
||||
{
|
||||
do_test (0, i, i + 1, 0, MIDDLE_CHAR);
|
||||
|
|
|
@ -130,7 +130,7 @@ do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
|
|||
size_t i;
|
||||
CHAR *result;
|
||||
CHAR *buf = (CHAR *) buf1;
|
||||
align &= 15;
|
||||
align &= 127;
|
||||
if ((align + len) * sizeof (CHAR) >= page_size)
|
||||
return;
|
||||
|
||||
|
@ -259,12 +259,24 @@ test_main (void)
|
|||
do_test (i, 16 << i, 2048, SMALL_CHAR, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (0, 16 << i, 4096, SMALL_CHAR, MIDDLE_CHAR);
|
||||
do_test (i, 16 << i, 4096, SMALL_CHAR, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (i, 64, 256, SMALL_CHAR, MIDDLE_CHAR);
|
||||
do_test (i, 64, 256, SMALL_CHAR, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; ++i)
|
||||
{
|
||||
do_test (16 * i, 256, 512, SMALL_CHAR, MIDDLE_CHAR);
|
||||
do_test (16 * i, 256, 512, SMALL_CHAR, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 32; ++i)
|
||||
{
|
||||
do_test (0, i, i + 1, SMALL_CHAR, MIDDLE_CHAR);
|
||||
|
@ -277,12 +289,24 @@ test_main (void)
|
|||
do_test (i, 16 << i, 2048, 0, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (0, 16 << i, 4096, 0, MIDDLE_CHAR);
|
||||
do_test (i, 16 << i, 4096, 0, MIDDLE_CHAR);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; ++i)
|
||||
{
|
||||
do_test (i, 64, 256, 0, MIDDLE_CHAR);
|
||||
do_test (i, 64, 256, 0, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; ++i)
|
||||
{
|
||||
do_test (16 * i, 256, 512, 0, MIDDLE_CHAR);
|
||||
do_test (16 * i, 256, 512, 0, BIG_CHAR);
|
||||
}
|
||||
|
||||
for (i = 0; i < 32; ++i)
|
||||
{
|
||||
do_test (0, i, i + 1, 0, MIDDLE_CHAR);
|
||||
|
|
Loading…
Reference in New Issue