Exemple #1
0
void
st_memory(void)
{
  enum { P = N/2/sizeof(void*) };
  static OBJ arr[P];
  useclass(Counter, AutoRelease);
  OBJ ar = gnew(AutoRelease);
  size_t sz = gsize(Counter);
  size_t i;
  int lvl;

  // allocator warm up
  for (i = 0; i < P; i++)
    arr[i++] = malloc(sz);

  for (i = 0; i < P; i++)
    free(arr[i++]);

  i = 0;
  STEST( "malloc", P, arr[i++] = malloc(sz) );

  i = 0;
  STEST( "free", P, free(arr[i++]) );

  i = 0;
  STEST( "alloc + init", P, arr[i++] = ginit(galloc(Counter)) );

  i = 0;
  STEST( "retain", P, gretain(arr[i++]) );

  i = 0;
  lvl = cos_logmsg_setLevel(COS_LOGMSG_WARN);
  STEST( "autoRelease", P, gautoRelease(arr[i++]) );
  cos_logmsg_setLevel(lvl);

  i = 0;
  STEST( "release", P, grelease(arr[i++]) );

  STEST( "alloc + init + release", P, grelease(ginit(galloc(Counter))) );

  grelease(ar);
}
Exemple #2
0
long IMP_PariBigIntAsciiSize(MP_ApInt_t mp_number)
{
  return gsize((GEN) mp_number) + 2;
}