~vcs-imports/eglibc/trunk

« back to all changes in this revision

Viewing changes to libc/benchtests/bench-strlen.c

  • Committer: joseph
  • Date: 2013-09-05 22:41:05 UTC
  • Revision ID: svn-v4:7b3dc134-2b1b-0410-93df-9e9f96275f8d:trunk:23928
Merge changes between r23795 and r23927 from /fsf/trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
static void
63
63
do_one_test (impl_t *impl, const CHAR *s, size_t exp_len)
64
64
{
65
 
  size_t len = CALL (impl, s);
 
65
  size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS;
 
66
  timing_t start, stop, cur;
 
67
 
66
68
  if (len != exp_len)
67
69
    {
68
70
      error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
71
73
      return;
72
74
    }
73
75
 
74
 
  if (HP_TIMING_AVAIL)
 
76
  TIMING_NOW (start);
 
77
  for (i = 0; i < iters; ++i)
75
78
    {
76
 
      hp_timing_t start __attribute ((unused));
77
 
      hp_timing_t stop __attribute ((unused));
78
 
      hp_timing_t best_time = ~ (hp_timing_t) 0;
79
 
      size_t i;
80
 
 
81
 
      for (i = 0; i < 32; ++i)
82
 
        {
83
 
          HP_TIMING_NOW (start);
84
 
          CALL (impl, s);
85
 
          HP_TIMING_NOW (stop);
86
 
          HP_TIMING_BEST (best_time, start, stop);
87
 
        }
88
 
 
89
 
      printf ("\t%zd", (size_t) best_time);
 
79
      CALL (impl, s);
90
80
    }
 
81
  TIMING_NOW (stop);
 
82
 
 
83
  TIMING_DIFF (cur, start, stop);
 
84
 
 
85
  TIMING_PRINT_MEAN ((double) cur, (double) iters);
91
86
}
92
87
 
93
88
static void
105
100
    buf[align + i] = 1 + 11111 * i % MAX_CHAR;
106
101
  buf[align + len] = 0;
107
102
 
108
 
  if (HP_TIMING_AVAIL)
109
 
    printf ("Length %4zd, alignment %2zd:", len, align);
 
103
  printf ("Length %4zd, alignment %2zd:", len, align);
110
104
 
111
105
  FOR_EACH_IMPL (impl, 0)
112
106
    do_one_test (impl, (CHAR *) (buf + align), len);
113
107
 
114
 
  if (HP_TIMING_AVAIL)
115
 
    putchar ('\n');
 
108
  putchar ('\n');
116
109
}
117
110
 
118
111
int